From 3bc0ad4ae0b7ec05c848c6fc6fbf083d7b1d4fe1 Mon Sep 17 00:00:00 2001 From: mckelvin Date: Tue, 7 Feb 2017 10:13:58 +0800 Subject: [PATCH] Squashed 'vendor/ta-lib/' content from commit 2ee32d0 git-subtree-dir: vendor/ta-lib git-subtree-split: 2ee32d04e2b7686dc0931e17c6a420682c46f3a3 --- Makefile.am | 3 + autogen.sh | 11 + bin/.cvsignore | 7 + bin/HOLDER | 2 + configure.in | 47 + ide/msvc/lib_proj/gen_code/gen_code.dsp | 284 + ide/msvc/lib_proj/lib_proj.dsw | 113 + ide/msvc/lib_proj/ta_abstract/ta_abstract.dsp | 371 + ide/msvc/lib_proj/ta_common/ta_common.dsp | 278 + ide/msvc/lib_proj/ta_func/ta_func.dsp | 875 ++ ide/msvc/lib_proj/ta_libc/ta_libc.dsp | 253 + ide/msvc/lib_proj/ta_regtest/ta_regtest.dsp | 305 + ide/vs2005/lib_proj/gen_code/gen_code.vcproj | 2168 ++++ .../lib_proj/ta_abstract/ta_abstract.vcproj | 2136 ++++ .../lib_proj/ta_common/ta_common.vcproj | 555 + ide/vs2005/lib_proj/ta_func/ta_func.vcproj | 1011 ++ ide/vs2005/lib_proj/ta_lib.sln | 105 + ide/vs2005/lib_proj/ta_libc/ta_libc.vcproj | 145 + .../lib_proj/ta_regtest/ta_regtest.vcproj | 1937 ++++ ide/xcode/TALib/.DS_Store | Bin 0 -> 6148 bytes .../TALib/English.lproj/InfoPlist.strings | Bin 0 -> 364 bytes ide/xcode/TALib/Info.plist | 24 + ide/xcode/TALib/README_XCODE.TXT | 37 + .../TALib/TALib.xcodeproj/project.pbxproj | 1452 +++ ide/xcode/TALib/TALib_Prefix.pch | 5 + ide/xcode/TALib/main.c | 3 + ide/xcode/TALib/version.plist | 16 + include/Makefile.am | 11 + include/ta_abstract.h | 559 + include/ta_common.h | 149 + include/ta_defs.h | 319 + include/ta_func.h | 5240 ++++++++++ include/ta_libc.h | 51 + lib/HOLDER | 2 + make/README.TXT | 25 + make/cdd/win32/msvc/Makefile | 97 + make/cdd/win32/msvc/gen_code/Makefile | 263 + make/cdd/win32/msvc/ta_abstract/Makefile | 273 + make/cdd/win32/msvc/ta_common/Makefile | 105 + make/cdd/win32/msvc/ta_func/Makefile | 1041 ++ make/cdd/win32/msvc/ta_libc/Makefile | 1240 +++ make/cdd/win32/msvc/ta_regtest/Makefile | 239 + make/cdr/win32/msvc/Makefile | 97 + make/cdr/win32/msvc/gen_code/Makefile | 260 + make/cdr/win32/msvc/ta_abstract/Makefile | 270 + make/cdr/win32/msvc/ta_common/Makefile | 102 + make/cdr/win32/msvc/ta_func/Makefile | 1038 ++ make/cdr/win32/msvc/ta_libc/Makefile | 1237 +++ make/cdr/win32/msvc/ta_regtest/Makefile | 236 + make/cmd/cygwin/g++/Makefile | 36 + make/cmd/cygwin/g++/gen_code/Makefile | 231 + make/cmd/cygwin/g++/ta_abstract/Makefile | 243 + make/cmd/cygwin/g++/ta_common/Makefile | 103 + make/cmd/cygwin/g++/ta_func/Makefile | 883 ++ make/cmd/cygwin/g++/ta_libc/Makefile | 1053 ++ make/cmd/cygwin/g++/ta_regtest/Makefile | 211 + make/cmd/freebsd/g++/Makefile | 36 + make/cmd/freebsd/g++/gen_code/Makefile | 225 + make/cmd/freebsd/g++/ta_abstract/Makefile | 243 + make/cmd/freebsd/g++/ta_common/Makefile | 103 + make/cmd/freebsd/g++/ta_func/Makefile | 883 ++ make/cmd/freebsd/g++/ta_libc/Makefile | 1053 ++ make/cmd/freebsd/g++/ta_regtest/Makefile | 205 + make/cmd/linux/g++/Makefile | 36 + make/cmd/linux/g++/gen_code/Makefile | 231 + make/cmd/linux/g++/ta_abstract/Makefile | 243 + make/cmd/linux/g++/ta_common/Makefile | 103 + make/cmd/linux/g++/ta_func/Makefile | 883 ++ make/cmd/linux/g++/ta_libc/Makefile | 1053 ++ make/cmd/linux/g++/ta_regtest/Makefile | 211 + make/cmd/win32/borland/Makefile | 96 + make/cmd/win32/borland/gen_code/Makefile | 267 + make/cmd/win32/borland/ta_abstract/Makefile | 309 + make/cmd/win32/borland/ta_common/Makefile | 113 + make/cmd/win32/borland/ta_func/Makefile | 1205 +++ make/cmd/win32/borland/ta_libc/Makefile | 1438 +++ make/cmd/win32/borland/ta_regtest/Makefile | 243 + make/cmd/win32/msvc/Makefile | 97 + make/cmd/win32/msvc/gen_code/Makefile | 263 + make/cmd/win32/msvc/ta_abstract/Makefile | 273 + make/cmd/win32/msvc/ta_common/Makefile | 105 + make/cmd/win32/msvc/ta_func/Makefile | 1041 ++ make/cmd/win32/msvc/ta_libc/Makefile | 1240 +++ make/cmd/win32/msvc/ta_regtest/Makefile | 239 + make/cmd/win32/symantec/Makefile | 97 + make/cmd/win32/symantec/gen_code/Makefile | 253 + make/cmd/win32/symantec/ta_abstract/Makefile | 295 + make/cmd/win32/symantec/ta_common/Makefile | 99 + make/cmd/win32/symantec/ta_func/Makefile | 1191 +++ make/cmd/win32/symantec/ta_libc/Makefile | 1424 +++ make/cmd/win32/symantec/ta_regtest/Makefile | 229 + make/cmd/win32/watcom/Makefile | 97 + make/cmd/win32/watcom/gen_code/Makefile | 243 + make/cmd/win32/watcom/ta_abstract/Makefile | 251 + make/cmd/win32/watcom/ta_common/Makefile | 83 + make/cmd/win32/watcom/ta_func/Makefile | 1019 ++ make/cmd/win32/watcom/ta_libc/Makefile | 1219 +++ make/cmd/win32/watcom/ta_regtest/Makefile | 219 + make/cmp/cygwin/g++/Makefile | 36 + make/cmp/cygwin/g++/gen_code/Makefile | 231 + make/cmp/cygwin/g++/ta_abstract/Makefile | 243 + make/cmp/cygwin/g++/ta_common/Makefile | 103 + make/cmp/cygwin/g++/ta_func/Makefile | 883 ++ make/cmp/cygwin/g++/ta_libc/Makefile | 1053 ++ make/cmp/cygwin/g++/ta_regtest/Makefile | 211 + make/cmp/freebsd/g++/Makefile | 36 + make/cmp/freebsd/g++/gen_code/Makefile | 225 + make/cmp/freebsd/g++/ta_abstract/Makefile | 243 + make/cmp/freebsd/g++/ta_common/Makefile | 103 + make/cmp/freebsd/g++/ta_func/Makefile | 883 ++ make/cmp/freebsd/g++/ta_libc/Makefile | 1053 ++ make/cmp/freebsd/g++/ta_regtest/Makefile | 205 + make/cmp/linux/g++/Makefile | 36 + make/cmp/linux/g++/gen_code/Makefile | 231 + make/cmp/linux/g++/ta_abstract/Makefile | 243 + make/cmp/linux/g++/ta_common/Makefile | 103 + make/cmp/linux/g++/ta_func/Makefile | 883 ++ make/cmp/linux/g++/ta_libc/Makefile | 1053 ++ make/cmp/linux/g++/ta_regtest/Makefile | 211 + make/cmr/cygwin/g++/Makefile | 36 + make/cmr/cygwin/g++/gen_code/Makefile | 231 + make/cmr/cygwin/g++/ta_abstract/Makefile | 243 + make/cmr/cygwin/g++/ta_common/Makefile | 103 + make/cmr/cygwin/g++/ta_func/Makefile | 883 ++ make/cmr/cygwin/g++/ta_libc/Makefile | 1053 ++ make/cmr/cygwin/g++/ta_regtest/Makefile | 211 + make/cmr/freebsd/g++/Makefile | 36 + make/cmr/freebsd/g++/gen_code/Makefile | 225 + make/cmr/freebsd/g++/ta_abstract/Makefile | 243 + make/cmr/freebsd/g++/ta_common/Makefile | 103 + make/cmr/freebsd/g++/ta_func/Makefile | 883 ++ make/cmr/freebsd/g++/ta_libc/Makefile | 1053 ++ make/cmr/freebsd/g++/ta_regtest/Makefile | 205 + make/cmr/linux/g++/Makefile | 36 + make/cmr/linux/g++/gen_code/Makefile | 231 + make/cmr/linux/g++/ta_abstract/Makefile | 243 + make/cmr/linux/g++/ta_common/Makefile | 103 + make/cmr/linux/g++/ta_func/Makefile | 883 ++ make/cmr/linux/g++/ta_libc/Makefile | 1053 ++ make/cmr/linux/g++/ta_regtest/Makefile | 211 + make/cmr/win32/borland/Makefile | 96 + make/cmr/win32/borland/gen_code/Makefile | 267 + make/cmr/win32/borland/ta_abstract/Makefile | 309 + make/cmr/win32/borland/ta_common/Makefile | 113 + make/cmr/win32/borland/ta_func/Makefile | 1205 +++ make/cmr/win32/borland/ta_libc/Makefile | 1438 +++ make/cmr/win32/borland/ta_regtest/Makefile | 243 + make/cmr/win32/msvc/Makefile | 97 + make/cmr/win32/msvc/gen_code/Makefile | 260 + make/cmr/win32/msvc/ta_abstract/Makefile | 270 + make/cmr/win32/msvc/ta_common/Makefile | 102 + make/cmr/win32/msvc/ta_func/Makefile | 1038 ++ make/cmr/win32/msvc/ta_libc/Makefile | 1237 +++ make/cmr/win32/msvc/ta_regtest/Makefile | 236 + make/cmr/win32/symantec/Makefile | 97 + make/cmr/win32/symantec/gen_code/Makefile | 253 + make/cmr/win32/symantec/ta_abstract/Makefile | 295 + make/cmr/win32/symantec/ta_common/Makefile | 99 + make/cmr/win32/symantec/ta_func/Makefile | 1191 +++ make/cmr/win32/symantec/ta_libc/Makefile | 1424 +++ make/cmr/win32/symantec/ta_regtest/Makefile | 229 + make/cmr/win32/watcom/Makefile | 97 + make/cmr/win32/watcom/gen_code/Makefile | 243 + make/cmr/win32/watcom/ta_abstract/Makefile | 251 + make/cmr/win32/watcom/ta_common/Makefile | 83 + make/cmr/win32/watcom/ta_func/Makefile | 1019 ++ make/cmr/win32/watcom/ta_libc/Makefile | 1219 +++ make/cmr/win32/watcom/ta_regtest/Makefile | 219 + make/csd/cygwin/g++/Makefile | 36 + make/csd/cygwin/g++/gen_code/Makefile | 231 + make/csd/cygwin/g++/ta_abstract/Makefile | 243 + make/csd/cygwin/g++/ta_common/Makefile | 103 + make/csd/cygwin/g++/ta_func/Makefile | 883 ++ make/csd/cygwin/g++/ta_libc/Makefile | 1053 ++ make/csd/cygwin/g++/ta_regtest/Makefile | 211 + make/csd/freebsd/g++/Makefile | 36 + make/csd/freebsd/g++/gen_code/Makefile | 225 + make/csd/freebsd/g++/ta_abstract/Makefile | 243 + make/csd/freebsd/g++/ta_common/Makefile | 103 + make/csd/freebsd/g++/ta_func/Makefile | 883 ++ make/csd/freebsd/g++/ta_libc/Makefile | 1053 ++ make/csd/freebsd/g++/ta_regtest/Makefile | 205 + make/csd/linux/g++/Makefile | 36 + make/csd/linux/g++/gen_code/Makefile | 231 + make/csd/linux/g++/ta_abstract/Makefile | 243 + make/csd/linux/g++/ta_common/Makefile | 103 + make/csd/linux/g++/ta_func/Makefile | 883 ++ make/csd/linux/g++/ta_libc/Makefile | 1053 ++ make/csd/linux/g++/ta_regtest/Makefile | 211 + make/csd/win32/borland/Makefile | 96 + make/csd/win32/borland/gen_code/Makefile | 267 + make/csd/win32/borland/ta_abstract/Makefile | 309 + make/csd/win32/borland/ta_common/Makefile | 113 + make/csd/win32/borland/ta_func/Makefile | 1205 +++ make/csd/win32/borland/ta_libc/Makefile | 1438 +++ make/csd/win32/borland/ta_regtest/Makefile | 243 + make/csd/win32/msvc/Makefile | 97 + make/csd/win32/msvc/gen_code/Makefile | 263 + make/csd/win32/msvc/ta_abstract/Makefile | 273 + make/csd/win32/msvc/ta_common/Makefile | 105 + make/csd/win32/msvc/ta_func/Makefile | 1041 ++ make/csd/win32/msvc/ta_libc/Makefile | 1240 +++ make/csd/win32/msvc/ta_regtest/Makefile | 239 + make/csd/win32/symantec/Makefile | 97 + make/csd/win32/symantec/gen_code/Makefile | 253 + make/csd/win32/symantec/ta_abstract/Makefile | 295 + make/csd/win32/symantec/ta_common/Makefile | 99 + make/csd/win32/symantec/ta_func/Makefile | 1191 +++ make/csd/win32/symantec/ta_libc/Makefile | 1424 +++ make/csd/win32/symantec/ta_regtest/Makefile | 229 + make/csd/win32/watcom/Makefile | 97 + make/csd/win32/watcom/gen_code/Makefile | 243 + make/csd/win32/watcom/ta_abstract/Makefile | 251 + make/csd/win32/watcom/ta_common/Makefile | 83 + make/csd/win32/watcom/ta_func/Makefile | 1019 ++ make/csd/win32/watcom/ta_libc/Makefile | 1219 +++ make/csd/win32/watcom/ta_regtest/Makefile | 219 + make/csp/cygwin/g++/Makefile | 36 + make/csp/cygwin/g++/gen_code/Makefile | 231 + make/csp/cygwin/g++/ta_abstract/Makefile | 243 + make/csp/cygwin/g++/ta_common/Makefile | 103 + make/csp/cygwin/g++/ta_func/Makefile | 883 ++ make/csp/cygwin/g++/ta_libc/Makefile | 1053 ++ make/csp/cygwin/g++/ta_regtest/Makefile | 211 + make/csp/freebsd/g++/Makefile | 36 + make/csp/freebsd/g++/gen_code/Makefile | 225 + make/csp/freebsd/g++/ta_abstract/Makefile | 243 + make/csp/freebsd/g++/ta_common/Makefile | 103 + make/csp/freebsd/g++/ta_func/Makefile | 883 ++ make/csp/freebsd/g++/ta_libc/Makefile | 1053 ++ make/csp/freebsd/g++/ta_regtest/Makefile | 205 + make/csp/linux/g++/Makefile | 36 + make/csp/linux/g++/gen_code/Makefile | 231 + make/csp/linux/g++/ta_abstract/Makefile | 243 + make/csp/linux/g++/ta_common/Makefile | 103 + make/csp/linux/g++/ta_func/Makefile | 883 ++ make/csp/linux/g++/ta_libc/Makefile | 1053 ++ make/csp/linux/g++/ta_regtest/Makefile | 211 + make/csr/cygwin/g++/Makefile | 36 + make/csr/cygwin/g++/gen_code/Makefile | 231 + make/csr/cygwin/g++/ta_abstract/Makefile | 243 + make/csr/cygwin/g++/ta_common/Makefile | 103 + make/csr/cygwin/g++/ta_func/Makefile | 883 ++ make/csr/cygwin/g++/ta_libc/Makefile | 1053 ++ make/csr/cygwin/g++/ta_regtest/Makefile | 211 + make/csr/freebsd/g++/Makefile | 36 + make/csr/freebsd/g++/gen_code/Makefile | 225 + make/csr/freebsd/g++/ta_abstract/Makefile | 243 + make/csr/freebsd/g++/ta_common/Makefile | 103 + make/csr/freebsd/g++/ta_func/Makefile | 883 ++ make/csr/freebsd/g++/ta_libc/Makefile | 1053 ++ make/csr/freebsd/g++/ta_regtest/Makefile | 205 + make/csr/linux/g++/Makefile | 36 + make/csr/linux/g++/gen_code/Makefile | 231 + make/csr/linux/g++/ta_abstract/Makefile | 243 + make/csr/linux/g++/ta_common/Makefile | 103 + make/csr/linux/g++/ta_func/Makefile | 883 ++ make/csr/linux/g++/ta_libc/Makefile | 1053 ++ make/csr/linux/g++/ta_regtest/Makefile | 211 + make/csr/win32/borland/Makefile | 96 + make/csr/win32/borland/gen_code/Makefile | 267 + make/csr/win32/borland/ta_abstract/Makefile | 309 + make/csr/win32/borland/ta_common/Makefile | 113 + make/csr/win32/borland/ta_func/Makefile | 1205 +++ make/csr/win32/borland/ta_libc/Makefile | 1438 +++ make/csr/win32/borland/ta_regtest/Makefile | 243 + make/csr/win32/msvc/Makefile | 97 + make/csr/win32/msvc/gen_code/Makefile | 260 + make/csr/win32/msvc/ta_abstract/Makefile | 270 + make/csr/win32/msvc/ta_common/Makefile | 102 + make/csr/win32/msvc/ta_func/Makefile | 1038 ++ make/csr/win32/msvc/ta_libc/Makefile | 1237 +++ make/csr/win32/msvc/ta_regtest/Makefile | 236 + make/csr/win32/symantec/Makefile | 97 + make/csr/win32/symantec/gen_code/Makefile | 253 + make/csr/win32/symantec/ta_abstract/Makefile | 295 + make/csr/win32/symantec/ta_common/Makefile | 99 + make/csr/win32/symantec/ta_func/Makefile | 1191 +++ make/csr/win32/symantec/ta_libc/Makefile | 1424 +++ make/csr/win32/symantec/ta_regtest/Makefile | 229 + make/csr/win32/watcom/Makefile | 97 + make/csr/win32/watcom/gen_code/Makefile | 243 + make/csr/win32/watcom/ta_abstract/Makefile | 251 + make/csr/win32/watcom/ta_common/Makefile | 83 + make/csr/win32/watcom/ta_func/Makefile | 1019 ++ make/csr/win32/watcom/ta_libc/Makefile | 1219 +++ make/csr/win32/watcom/ta_regtest/Makefile | 219 + make/gen_make/README.TXT | 40 + make/gen_make/gen_code/gen_code.pro | 151 + make/gen_make/gen_make.pl | 43 + make/gen_make/make_make.pl | 269 + make/gen_make/rootmake.pro | 7 + make/gen_make/ta_abstract/make_pro.pl | 141 + make/gen_make/ta_abstract/ta_abstract.pro | 128 + make/gen_make/ta_common/ta_common.pro | 96 + make/gen_make/ta_func/make_pro.pl | 123 + make/gen_make/ta_func/ta_func.pro | 254 + make/gen_make/ta_libc/make_pro.pl | 177 + make/gen_make/ta_libc/ta_libc.pro | 245 + make/gen_make/ta_regtest/ta_regtest.pro | 142 + make/gen_make/template/cygwin-g++/app.t | 2 + make/gen_make/template/cygwin-g++/lib.t | 2 + make/gen_make/template/cygwin-g++/subdirs.t | 2 + make/gen_make/template/cygwin-g++/tmake.conf | 65 + make/gen_make/template/freebsd-g++/app.t | 6 + make/gen_make/template/freebsd-g++/generic.t | 395 + make/gen_make/template/freebsd-g++/lib.t | 2 + make/gen_make/template/freebsd-g++/subdirs.t | 2 + make/gen_make/template/freebsd-g++/tmake.conf | 65 + make/gen_make/template/linux-g++/app.t | 2 + make/gen_make/template/linux-g++/lib.t | 2 + make/gen_make/template/linux-g++/subdirs.t | 2 + make/gen_make/template/linux-g++/tmake.conf | 65 + make/gen_make/template/unix/app.t | 6 + make/gen_make/template/unix/generic.t | 401 + make/gen_make/template/unix/lib.t | 6 + make/gen_make/template/unix/subdirs.t | 40 + make/gen_make/template/win32-borland/app.t | 6 + .../gen_make/template/win32-borland/generic.t | 270 + make/gen_make/template/win32-borland/lib.t | 6 + .../gen_make/template/win32-borland/subdirs.t | 3 + .../template/win32-borland/tmake.conf | 69 + make/gen_make/template/win32-msvc/app.t | 6 + make/gen_make/template/win32-msvc/generic.t | 261 + make/gen_make/template/win32-msvc/lib.t | 6 + make/gen_make/template/win32-msvc/subdirs.t | 54 + make/gen_make/template/win32-msvc/tmake.conf | 67 + make/gen_make/template/win32-msvc/vcapp.t | 12 + make/gen_make/template/win32-msvc/vcgeneric.t | 268 + make/gen_make/template/win32-msvc/vclib.t | 14 + .../gen_make/template/win32-msvc/win32app.dsp | 109 + .../gen_make/template/win32-msvc/win32dll.dsp | 112 + .../gen_make/template/win32-msvc/win32lib.dsp | 105 + make/gen_make/template/win32-symantec/app.t | 6 + .../template/win32-symantec/generic.t | 227 + make/gen_make/template/win32-symantec/lib.t | 6 + .../template/win32-symantec/subdirs.t | 2 + .../template/win32-symantec/tmake.conf | 56 + make/gen_make/template/win32-watcom/app.t | 6 + make/gen_make/template/win32-watcom/generic.t | 218 + make/gen_make/template/win32-watcom/lib.t | 6 + make/gen_make/template/win32-watcom/subdirs.t | 2 + .../gen_make/template/win32-watcom/tmake.conf | 54 + make/gen_make/template/win32/subdirs.t | 54 + src/Makefile.am | 14 + src/ta_abstract/Makefile.am | 49 + src/ta_abstract/excel_glue.c | 202 + src/ta_abstract/frames/ta_frame.c | 3407 +++++++ src/ta_abstract/frames/ta_frame.h | 1481 +++ src/ta_abstract/ta_abstract.c | 1313 +++ src/ta_abstract/ta_def_ui.c | 554 + src/ta_abstract/ta_def_ui.h | 291 + src/ta_abstract/ta_frame_priv.h | 128 + src/ta_abstract/ta_func_api.c | 8962 +++++++++++++++++ src/ta_abstract/ta_group_idx.c | 447 + src/ta_abstract/ta_java_defs.h | 360 + src/ta_abstract/tables/table_a.c | 373 + src/ta_abstract/tables/table_b.c | 196 + src/ta_abstract/tables/table_c.c | 1885 ++++ src/ta_abstract/tables/table_d.c | 129 + src/ta_abstract/tables/table_e.c | 102 + src/ta_abstract/tables/table_f.c | 76 + src/ta_abstract/tables/table_g.c | 72 + src/ta_abstract/tables/table_h.c | 246 + src/ta_abstract/tables/table_i.c | 72 + src/ta_abstract/tables/table_j.c | 72 + src/ta_abstract/tables/table_k.c | 98 + src/ta_abstract/tables/table_l.c | 188 + src/ta_abstract/tables/table_m.c | 739 ++ src/ta_abstract/tables/table_n.c | 127 + src/ta_abstract/tables/table_o.c | 96 + src/ta_abstract/tables/table_p.c | 186 + src/ta_abstract/tables/table_q.c | 72 + src/ta_abstract/tables/table_r.c | 206 + src/ta_abstract/tables/table_s.c | 630 ++ src/ta_abstract/tables/table_t.c | 277 + src/ta_abstract/tables/table_u.c | 142 + src/ta_abstract/tables/table_v.c | 98 + src/ta_abstract/tables/table_w.c | 149 + src/ta_abstract/tables/table_x.c | 72 + src/ta_abstract/tables/table_y.c | 72 + src/ta_abstract/tables/table_z.c | 72 + .../templates/CoreAnnotated.java.template | 69 + .../templates/Makefile.am.template | 13 + .../templates/excel_glue.c.template | 45 + src/ta_abstract/templates/ta_frame.c.template | 63 + src/ta_abstract/templates/ta_frame.h.template | 60 + src/ta_abstract/templates/ta_func.h.template | 66 + .../templates/ta_func.swg.template | 45 + .../templates/ta_func_api.c.template | 55 + .../templates/ta_group_idx.c.template | 56 + .../templates/ta_java_defs.h.template | 45 + .../templates/ta_retcode.c.template | 92 + src/ta_abstract/templates/ta_x.c.template | 84 + src/ta_common/Makefile.am | 15 + src/ta_common/ta_global.c | 178 + src/ta_common/ta_global.h | 119 + src/ta_common/ta_magic_nb.h | 31 + src/ta_common/ta_memory.h | 341 + src/ta_common/ta_pragma.h | 87 + src/ta_common/ta_retcode.c | 109 + src/ta_common/ta_retcode.csv | 18 + src/ta_common/ta_version.c | 77 + src/ta_func/Makefile.am | 170 + src/ta_func/ta_ACOS.c | 241 + src/ta_func/ta_AD.c | 314 + src/ta_func/ta_ADD.c | 250 + src/ta_func/ta_ADOSC.c | 480 + src/ta_func/ta_ADX.c | 785 ++ src/ta_func/ta_ADXR.c | 374 + src/ta_func/ta_APO.c | 597 ++ src/ta_func/ta_AROON.c | 450 + src/ta_func/ta_AROONOSC.c | 456 + src/ta_func/ta_ASIN.c | 241 + src/ta_func/ta_ATAN.c | 241 + src/ta_func/ta_ATR.c | 453 + src/ta_func/ta_AVGPRICE.c | 278 + src/ta_func/ta_BBANDS.c | 643 ++ src/ta_func/ta_BETA.c | 484 + src/ta_func/ta_BOP.c | 279 + src/ta_func/ta_CCI.c | 416 + src/ta_func/ta_CDL2CROWS.c | 356 + src/ta_func/ta_CDL3BLACKCROWS.c | 384 + src/ta_func/ta_CDL3INSIDE.c | 375 + src/ta_func/ta_CDL3LINESTRIKE.c | 396 + src/ta_func/ta_CDL3OUTSIDE.c | 334 + src/ta_func/ta_CDL3STARSINSOUTH.c | 452 + src/ta_func/ta_CDL3WHITESOLDIERS.c | 476 + src/ta_func/ta_CDLABANDONEDBABY.c | 450 + src/ta_func/ta_CDLADVANCEBLOCK.c | 548 + src/ta_func/ta_CDLBELTHOLD.c | 376 + src/ta_func/ta_CDLBREAKAWAY.c | 383 + src/ta_func/ta_CDLCLOSINGMARUBOZU.c | 376 + src/ta_func/ta_CDLCONCEALBABYSWALL.c | 384 + src/ta_func/ta_CDLCOUNTERATTACK.c | 378 + src/ta_func/ta_CDLDARKCLOUDCOVER.c | 384 + src/ta_func/ta_CDLDOJI.c | 337 + src/ta_func/ta_CDLDOJISTAR.c | 368 + src/ta_func/ta_CDLDRAGONFLYDOJI.c | 365 + src/ta_func/ta_CDLENGULFING.c | 329 + src/ta_func/ta_CDLEVENINGDOJISTAR.c | 426 + src/ta_func/ta_CDLEVENINGSTAR.c | 412 + src/ta_func/ta_CDLGAPSIDESIDEWHITE.c | 385 + src/ta_func/ta_CDLGRAVESTONEDOJI.c | 365 + src/ta_func/ta_CDLHAMMER.c | 414 + src/ta_func/ta_CDLHANGINGMAN.c | 414 + src/ta_func/ta_CDLHARAMI.c | 366 + src/ta_func/ta_CDLHARAMICROSS.c | 366 + src/ta_func/ta_CDLHIGHWAVE.c | 359 + src/ta_func/ta_CDLHIKKAKE.c | 399 + src/ta_func/ta_CDLHIKKAKEMOD.c | 457 + src/ta_func/ta_CDLHOMINGPIGEON.c | 370 + src/ta_func/ta_CDLIDENTICAL3CROWS.c | 419 + src/ta_func/ta_CDLINNECK.c | 373 + src/ta_func/ta_CDLINVERTEDHAMMER.c | 389 + src/ta_func/ta_CDLKICKING.c | 406 + src/ta_func/ta_CDLKICKINGBYLENGTH.c | 407 + src/ta_func/ta_CDLLADDERBOTTOM.c | 361 + src/ta_func/ta_CDLLONGLEGGEDDOJI.c | 365 + src/ta_func/ta_CDLLONGLINE.c | 358 + src/ta_func/ta_CDLMARUBOZU.c | 360 + src/ta_func/ta_CDLMATCHINGLOW.c | 346 + src/ta_func/ta_CDLMATHOLD.c | 455 + src/ta_func/ta_CDLMORNINGDOJISTAR.c | 425 + src/ta_func/ta_CDLMORNINGSTAR.c | 411 + src/ta_func/ta_CDLONNECK.c | 373 + src/ta_func/ta_CDLPIERCING.c | 363 + src/ta_func/ta_CDLRICKSHAWMAN.c | 396 + src/ta_func/ta_CDLRISEFALL3METHODS.c | 422 + src/ta_func/ta_CDLSEPARATINGLINES.c | 406 + src/ta_func/ta_CDLSHOOTINGSTAR.c | 389 + src/ta_func/ta_CDLSHORTLINE.c | 359 + src/ta_func/ta_CDLSPINNINGTOP.c | 343 + src/ta_func/ta_CDLSTALLEDPATTERN.c | 456 + src/ta_func/ta_CDLSTICKSANDWICH.c | 353 + src/ta_func/ta_CDLTAKURI.c | 387 + src/ta_func/ta_CDLTASUKIGAP.c | 385 + src/ta_func/ta_CDLTHRUSTING.c | 375 + src/ta_func/ta_CDLTRISTAR.c | 366 + src/ta_func/ta_CDLUNIQUE3RIVER.c | 375 + src/ta_func/ta_CDLUPSIDEGAP2CROWS.c | 377 + src/ta_func/ta_CDLXSIDEGAP3METHODS.c | 350 + src/ta_func/ta_CEIL.c | 241 + src/ta_func/ta_CMO.c | 595 ++ src/ta_func/ta_CORREL.c | 404 + src/ta_func/ta_COS.c | 241 + src/ta_func/ta_COSH.c | 241 + src/ta_func/ta_DEMA.c | 487 + src/ta_func/ta_DIV.c | 250 + src/ta_func/ta_DX.c | 692 ++ src/ta_func/ta_EMA.c | 493 + src/ta_func/ta_EXP.c | 241 + src/ta_func/ta_FLOOR.c | 241 + src/ta_func/ta_HT_DCPERIOD.c | 561 ++ src/ta_func/ta_HT_DCPHASE.c | 679 ++ src/ta_func/ta_HT_PHASOR.c | 581 ++ src/ta_func/ta_HT_SINE.c | 695 ++ src/ta_func/ta_HT_TRENDLINE.c | 641 ++ src/ta_func/ta_HT_TRENDMODE.c | 794 ++ src/ta_func/ta_KAMA.c | 497 + src/ta_func/ta_LINEARREG.c | 354 + src/ta_func/ta_LINEARREG_ANGLE.c | 354 + src/ta_func/ta_LINEARREG_INTERCEPT.c | 352 + src/ta_func/ta_LINEARREG_SLOPE.c | 348 + src/ta_func/ta_LN.c | 241 + src/ta_func/ta_LOG10.c | 241 + src/ta_func/ta_MA.c | 476 + src/ta_func/ta_MACD.c | 783 ++ src/ta_func/ta_MACDEXT.c | 703 ++ src/ta_func/ta_MACDFIX.c | 301 + src/ta_func/ta_MAMA.c | 714 ++ src/ta_func/ta_MAVP.c | 492 + src/ta_func/ta_MAX.c | 373 + src/ta_func/ta_MAXINDEX.c | 368 + src/ta_func/ta_MEDPRICE.c | 264 + src/ta_func/ta_MFI.c | 572 ++ src/ta_func/ta_MIDPOINT.c | 345 + src/ta_func/ta_MIDPRICE.c | 357 + src/ta_func/ta_MIN.c | 373 + src/ta_func/ta_MININDEX.c | 368 + src/ta_func/ta_MINMAX.c | 429 + src/ta_func/ta_MINMAXINDEX.c | 429 + src/ta_func/ta_MINUS_DI.c | 703 ++ src/ta_func/ta_MINUS_DM.c | 579 ++ src/ta_func/ta_MOM.c | 335 + src/ta_func/ta_MULT.c | 250 + src/ta_func/ta_NATR.c | 486 + src/ta_func/ta_NVI.c | 197 + src/ta_func/ta_OBV.c | 280 + src/ta_func/ta_PLUS_DI.c | 703 ++ src/ta_func/ta_PLUS_DM.c | 580 ++ src/ta_func/ta_PPO.c | 354 + src/ta_func/ta_PVI.c | 197 + src/ta_func/ta_ROC.c | 346 + src/ta_func/ta_ROCP.c | 347 + src/ta_func/ta_ROCR.c | 348 + src/ta_func/ta_ROCR100.c | 347 + src/ta_func/ta_RSI.c | 599 ++ src/ta_func/ta_SAR.c | 711 ++ src/ta_func/ta_SAREXT.c | 985 ++ src/ta_func/ta_SIN.c | 252 + src/ta_func/ta_SINH.c | 241 + src/ta_func/ta_SMA.c | 411 + src/ta_func/ta_SQRT.c | 241 + src/ta_func/ta_STDDEV.c | 497 + src/ta_func/ta_STOCH.c | 802 ++ src/ta_func/ta_STOCHF.c | 722 ++ src/ta_func/ta_STOCHRSI.c | 507 + src/ta_func/ta_SUB.c | 250 + src/ta_func/ta_SUM.c | 333 + src/ta_func/ta_T3.c | 524 + src/ta_func/ta_TAN.c | 241 + src/ta_func/ta_TANH.c | 241 + src/ta_func/ta_TEMA.c | 481 + src/ta_func/ta_TRANGE.c | 328 + src/ta_func/ta_TRIMA.c | 648 ++ src/ta_func/ta_TRIX.c | 449 + src/ta_func/ta_TSF.c | 354 + src/ta_func/ta_TYPPRICE.c | 271 + src/ta_func/ta_ULTOSC.c | 579 ++ src/ta_func/ta_VAR.c | 477 + src/ta_func/ta_WCLPRICE.c | 270 + src/ta_func/ta_WILLR.c | 453 + src/ta_func/ta_WMA.c | 418 + src/ta_func/ta_utility.c | 134 + src/ta_func/ta_utility.h | 365 + src/tools/Makefile.am | 2 + src/tools/gen_code/Makefile.am | 14 + src/tools/gen_code/gen_code.c | 4648 +++++++++ src/tools/gen_code/java/Main.java | 89 + src/tools/gen_code/java/PrettyCode.java | 224 + src/tools/gen_code/mcpp.exe | Bin 0 -> 135168 bytes src/tools/ta_regtest/Makefile.am | 38 + src/tools/ta_regtest/ReadMe.txt | 12 + src/tools/ta_regtest/ta_error_number.h | 297 + src/tools/ta_regtest/ta_gDataClose.c | 723 ++ src/tools/ta_regtest/ta_gDataHigh.c | 723 ++ src/tools/ta_regtest/ta_gDataLow.c | 719 ++ src/tools/ta_regtest/ta_gDataOpen.c | 667 ++ src/tools/ta_regtest/ta_regtest.c | 296 + src/tools/ta_regtest/ta_test_func.h | 27 + .../ta_regtest/ta_test_func/test_1in_1out.c | 507 + .../ta_regtest/ta_test_func/test_1in_2out.c | 469 + src/tools/ta_regtest/ta_test_func/test_adx.c | 682 ++ .../ta_regtest/ta_test_func/test_bbands.c | 533 + .../ta_test_func/test_candlestick.c | 744 ++ src/tools/ta_regtest/ta_test_func/test_ma.c | 816 ++ src/tools/ta_regtest/ta_test_func/test_macd.c | 603 ++ .../ta_regtest/ta_test_func/test_minmax.c | 833 ++ src/tools/ta_regtest/ta_test_func/test_mom.c | 553 + .../ta_regtest/ta_test_func/test_per_ema.c | 306 + .../ta_regtest/ta_test_func/test_per_hl.c | 640 ++ .../ta_regtest/ta_test_func/test_per_hlc.c | 542 + .../ta_regtest/ta_test_func/test_per_hlcv.c | 710 ++ .../ta_regtest/ta_test_func/test_per_ohlc.c | 527 + src/tools/ta_regtest/ta_test_func/test_po.c | 440 + src/tools/ta_regtest/ta_test_func/test_rsi.c | 507 + src/tools/ta_regtest/ta_test_func/test_sar.c | 301 + .../ta_regtest/ta_test_func/test_stddev.c | 265 + .../ta_regtest/ta_test_func/test_stoch.c | 794 ++ .../ta_regtest/ta_test_func/test_trange.c | 349 + src/tools/ta_regtest/ta_test_priv.h | 210 + src/tools/ta_regtest/test_abstract.c | 762 ++ src/tools/ta_regtest/test_data.c | 145 + src/tools/ta_regtest/test_internals.c | 274 + src/tools/ta_regtest/test_util.c | 1338 +++ ta-lib-config.in | 28 + ta-lib.dpkg.in | 16 + ta-lib.spec.in | 25 + temp/cdd/gen_code/HOLDER | 2 + temp/cdd/ta_abstract/HOLDER | 2 + temp/cdd/ta_common/HOLDER | 2 + temp/cdd/ta_func/HOLDER | 2 + temp/cdd/ta_libc/HOLDER | 2 + temp/cdd/ta_regtest/HOLDER | 2 + temp/cdr/gen_code/HOLDER | 2 + temp/cdr/ta_abstract/HOLDER | 2 + temp/cdr/ta_common/HOLDER | 2 + temp/cdr/ta_func/HOLDER | 2 + temp/cdr/ta_libc/HOLDER | 2 + temp/cdr/ta_regtest/HOLDER | 2 + temp/cmd/gen_code/HOLDER | 2 + temp/cmd/ta_abstract/HOLDER | 2 + temp/cmd/ta_common/HOLDER | 2 + temp/cmd/ta_func/HOLDER | 2 + temp/cmd/ta_libc/HOLDER | 2 + temp/cmd/ta_regtest/HOLDER | 2 + temp/cmp/gen_code/HOLDER | 2 + temp/cmp/ta_abstract/HOLDER | 2 + temp/cmp/ta_common/HOLDER | 2 + temp/cmp/ta_func/HOLDER | 2 + temp/cmp/ta_libc/HOLDER | 2 + temp/cmp/ta_regtest/HOLDER | 2 + temp/cmr/gen_code/HOLDER | 2 + temp/cmr/ta_abstract/HOLDER | 2 + temp/cmr/ta_common/HOLDER | 2 + temp/cmr/ta_func/HOLDER | 2 + temp/cmr/ta_libc/HOLDER | 2 + temp/cmr/ta_regtest/HOLDER | 2 + temp/csd/gen_code/HOLDER | 2 + temp/csd/ta_abstract/HOLDER | 2 + temp/csd/ta_common/HOLDER | 2 + temp/csd/ta_func/HOLDER | 2 + temp/csd/ta_libc/HOLDER | 2 + temp/csd/ta_regtest/HOLDER | 2 + temp/csp/gen_code/HOLDER | 2 + temp/csp/ta_abstract/HOLDER | 2 + temp/csp/ta_common/HOLDER | 2 + temp/csp/ta_func/HOLDER | 2 + temp/csp/ta_libc/HOLDER | 2 + temp/csp/ta_regtest/HOLDER | 2 + temp/csr/gen_code/HOLDER | 2 + temp/csr/ta_abstract/HOLDER | 2 + temp/csr/ta_common/HOLDER | 2 + temp/csr/ta_func/HOLDER | 2 + temp/csr/ta_libc/HOLDER | 2 + temp/csr/ta_regtest/HOLDER | 2 + 657 files changed, 249397 insertions(+) create mode 100644 Makefile.am create mode 100644 autogen.sh create mode 100644 bin/.cvsignore create mode 100644 bin/HOLDER create mode 100644 configure.in create mode 100644 ide/msvc/lib_proj/gen_code/gen_code.dsp create mode 100644 ide/msvc/lib_proj/lib_proj.dsw create mode 100644 ide/msvc/lib_proj/ta_abstract/ta_abstract.dsp create mode 100644 ide/msvc/lib_proj/ta_common/ta_common.dsp create mode 100644 ide/msvc/lib_proj/ta_func/ta_func.dsp create mode 100644 ide/msvc/lib_proj/ta_libc/ta_libc.dsp create mode 100644 ide/msvc/lib_proj/ta_regtest/ta_regtest.dsp create mode 100644 ide/vs2005/lib_proj/gen_code/gen_code.vcproj create mode 100644 ide/vs2005/lib_proj/ta_abstract/ta_abstract.vcproj create mode 100644 ide/vs2005/lib_proj/ta_common/ta_common.vcproj create mode 100644 ide/vs2005/lib_proj/ta_func/ta_func.vcproj create mode 100644 ide/vs2005/lib_proj/ta_lib.sln create mode 100644 ide/vs2005/lib_proj/ta_libc/ta_libc.vcproj create mode 100644 ide/vs2005/lib_proj/ta_regtest/ta_regtest.vcproj create mode 100644 ide/xcode/TALib/.DS_Store create mode 100644 ide/xcode/TALib/English.lproj/InfoPlist.strings create mode 100644 ide/xcode/TALib/Info.plist create mode 100644 ide/xcode/TALib/README_XCODE.TXT create mode 100644 ide/xcode/TALib/TALib.xcodeproj/project.pbxproj create mode 100644 ide/xcode/TALib/TALib_Prefix.pch create mode 100644 ide/xcode/TALib/main.c create mode 100644 ide/xcode/TALib/version.plist create mode 100644 include/Makefile.am create mode 100644 include/ta_abstract.h create mode 100644 include/ta_common.h create mode 100644 include/ta_defs.h create mode 100644 include/ta_func.h create mode 100644 include/ta_libc.h create mode 100644 lib/HOLDER create mode 100644 make/README.TXT create mode 100644 make/cdd/win32/msvc/Makefile create mode 100644 make/cdd/win32/msvc/gen_code/Makefile create mode 100644 make/cdd/win32/msvc/ta_abstract/Makefile create mode 100644 make/cdd/win32/msvc/ta_common/Makefile create mode 100644 make/cdd/win32/msvc/ta_func/Makefile create mode 100644 make/cdd/win32/msvc/ta_libc/Makefile create mode 100644 make/cdd/win32/msvc/ta_regtest/Makefile create mode 100644 make/cdr/win32/msvc/Makefile create mode 100644 make/cdr/win32/msvc/gen_code/Makefile create mode 100644 make/cdr/win32/msvc/ta_abstract/Makefile create mode 100644 make/cdr/win32/msvc/ta_common/Makefile create mode 100644 make/cdr/win32/msvc/ta_func/Makefile create mode 100644 make/cdr/win32/msvc/ta_libc/Makefile create mode 100644 make/cdr/win32/msvc/ta_regtest/Makefile create mode 100644 make/cmd/cygwin/g++/Makefile create mode 100644 make/cmd/cygwin/g++/gen_code/Makefile create mode 100644 make/cmd/cygwin/g++/ta_abstract/Makefile create mode 100644 make/cmd/cygwin/g++/ta_common/Makefile create mode 100644 make/cmd/cygwin/g++/ta_func/Makefile create mode 100644 make/cmd/cygwin/g++/ta_libc/Makefile create mode 100644 make/cmd/cygwin/g++/ta_regtest/Makefile create mode 100644 make/cmd/freebsd/g++/Makefile create mode 100644 make/cmd/freebsd/g++/gen_code/Makefile create mode 100644 make/cmd/freebsd/g++/ta_abstract/Makefile create mode 100644 make/cmd/freebsd/g++/ta_common/Makefile create mode 100644 make/cmd/freebsd/g++/ta_func/Makefile create mode 100644 make/cmd/freebsd/g++/ta_libc/Makefile create mode 100644 make/cmd/freebsd/g++/ta_regtest/Makefile create mode 100644 make/cmd/linux/g++/Makefile create mode 100644 make/cmd/linux/g++/gen_code/Makefile create mode 100644 make/cmd/linux/g++/ta_abstract/Makefile create mode 100644 make/cmd/linux/g++/ta_common/Makefile create mode 100644 make/cmd/linux/g++/ta_func/Makefile create mode 100644 make/cmd/linux/g++/ta_libc/Makefile create mode 100644 make/cmd/linux/g++/ta_regtest/Makefile create mode 100644 make/cmd/win32/borland/Makefile create mode 100644 make/cmd/win32/borland/gen_code/Makefile create mode 100644 make/cmd/win32/borland/ta_abstract/Makefile create mode 100644 make/cmd/win32/borland/ta_common/Makefile create mode 100644 make/cmd/win32/borland/ta_func/Makefile create mode 100644 make/cmd/win32/borland/ta_libc/Makefile create mode 100644 make/cmd/win32/borland/ta_regtest/Makefile create mode 100644 make/cmd/win32/msvc/Makefile create mode 100644 make/cmd/win32/msvc/gen_code/Makefile create mode 100644 make/cmd/win32/msvc/ta_abstract/Makefile create mode 100644 make/cmd/win32/msvc/ta_common/Makefile create mode 100644 make/cmd/win32/msvc/ta_func/Makefile create mode 100644 make/cmd/win32/msvc/ta_libc/Makefile create mode 100644 make/cmd/win32/msvc/ta_regtest/Makefile create mode 100644 make/cmd/win32/symantec/Makefile create mode 100644 make/cmd/win32/symantec/gen_code/Makefile create mode 100644 make/cmd/win32/symantec/ta_abstract/Makefile create mode 100644 make/cmd/win32/symantec/ta_common/Makefile create mode 100644 make/cmd/win32/symantec/ta_func/Makefile create mode 100644 make/cmd/win32/symantec/ta_libc/Makefile create mode 100644 make/cmd/win32/symantec/ta_regtest/Makefile create mode 100644 make/cmd/win32/watcom/Makefile create mode 100644 make/cmd/win32/watcom/gen_code/Makefile create mode 100644 make/cmd/win32/watcom/ta_abstract/Makefile create mode 100644 make/cmd/win32/watcom/ta_common/Makefile create mode 100644 make/cmd/win32/watcom/ta_func/Makefile create mode 100644 make/cmd/win32/watcom/ta_libc/Makefile create mode 100644 make/cmd/win32/watcom/ta_regtest/Makefile create mode 100644 make/cmp/cygwin/g++/Makefile create mode 100644 make/cmp/cygwin/g++/gen_code/Makefile create mode 100644 make/cmp/cygwin/g++/ta_abstract/Makefile create mode 100644 make/cmp/cygwin/g++/ta_common/Makefile create mode 100644 make/cmp/cygwin/g++/ta_func/Makefile create mode 100644 make/cmp/cygwin/g++/ta_libc/Makefile create mode 100644 make/cmp/cygwin/g++/ta_regtest/Makefile create mode 100644 make/cmp/freebsd/g++/Makefile create mode 100644 make/cmp/freebsd/g++/gen_code/Makefile create mode 100644 make/cmp/freebsd/g++/ta_abstract/Makefile create mode 100644 make/cmp/freebsd/g++/ta_common/Makefile create mode 100644 make/cmp/freebsd/g++/ta_func/Makefile create mode 100644 make/cmp/freebsd/g++/ta_libc/Makefile create mode 100644 make/cmp/freebsd/g++/ta_regtest/Makefile create mode 100644 make/cmp/linux/g++/Makefile create mode 100644 make/cmp/linux/g++/gen_code/Makefile create mode 100644 make/cmp/linux/g++/ta_abstract/Makefile create mode 100644 make/cmp/linux/g++/ta_common/Makefile create mode 100644 make/cmp/linux/g++/ta_func/Makefile create mode 100644 make/cmp/linux/g++/ta_libc/Makefile create mode 100644 make/cmp/linux/g++/ta_regtest/Makefile create mode 100644 make/cmr/cygwin/g++/Makefile create mode 100644 make/cmr/cygwin/g++/gen_code/Makefile create mode 100644 make/cmr/cygwin/g++/ta_abstract/Makefile create mode 100644 make/cmr/cygwin/g++/ta_common/Makefile create mode 100644 make/cmr/cygwin/g++/ta_func/Makefile create mode 100644 make/cmr/cygwin/g++/ta_libc/Makefile create mode 100644 make/cmr/cygwin/g++/ta_regtest/Makefile create mode 100644 make/cmr/freebsd/g++/Makefile create mode 100644 make/cmr/freebsd/g++/gen_code/Makefile create mode 100644 make/cmr/freebsd/g++/ta_abstract/Makefile create mode 100644 make/cmr/freebsd/g++/ta_common/Makefile create mode 100644 make/cmr/freebsd/g++/ta_func/Makefile create mode 100644 make/cmr/freebsd/g++/ta_libc/Makefile create mode 100644 make/cmr/freebsd/g++/ta_regtest/Makefile create mode 100644 make/cmr/linux/g++/Makefile create mode 100644 make/cmr/linux/g++/gen_code/Makefile create mode 100644 make/cmr/linux/g++/ta_abstract/Makefile create mode 100644 make/cmr/linux/g++/ta_common/Makefile create mode 100644 make/cmr/linux/g++/ta_func/Makefile create mode 100644 make/cmr/linux/g++/ta_libc/Makefile create mode 100644 make/cmr/linux/g++/ta_regtest/Makefile create mode 100644 make/cmr/win32/borland/Makefile create mode 100644 make/cmr/win32/borland/gen_code/Makefile create mode 100644 make/cmr/win32/borland/ta_abstract/Makefile create mode 100644 make/cmr/win32/borland/ta_common/Makefile create mode 100644 make/cmr/win32/borland/ta_func/Makefile create mode 100644 make/cmr/win32/borland/ta_libc/Makefile create mode 100644 make/cmr/win32/borland/ta_regtest/Makefile create mode 100644 make/cmr/win32/msvc/Makefile create mode 100644 make/cmr/win32/msvc/gen_code/Makefile create mode 100644 make/cmr/win32/msvc/ta_abstract/Makefile create mode 100644 make/cmr/win32/msvc/ta_common/Makefile create mode 100644 make/cmr/win32/msvc/ta_func/Makefile create mode 100644 make/cmr/win32/msvc/ta_libc/Makefile create mode 100644 make/cmr/win32/msvc/ta_regtest/Makefile create mode 100644 make/cmr/win32/symantec/Makefile create mode 100644 make/cmr/win32/symantec/gen_code/Makefile create mode 100644 make/cmr/win32/symantec/ta_abstract/Makefile create mode 100644 make/cmr/win32/symantec/ta_common/Makefile create mode 100644 make/cmr/win32/symantec/ta_func/Makefile create mode 100644 make/cmr/win32/symantec/ta_libc/Makefile create mode 100644 make/cmr/win32/symantec/ta_regtest/Makefile create mode 100644 make/cmr/win32/watcom/Makefile create mode 100644 make/cmr/win32/watcom/gen_code/Makefile create mode 100644 make/cmr/win32/watcom/ta_abstract/Makefile create mode 100644 make/cmr/win32/watcom/ta_common/Makefile create mode 100644 make/cmr/win32/watcom/ta_func/Makefile create mode 100644 make/cmr/win32/watcom/ta_libc/Makefile create mode 100644 make/cmr/win32/watcom/ta_regtest/Makefile create mode 100644 make/csd/cygwin/g++/Makefile create mode 100644 make/csd/cygwin/g++/gen_code/Makefile create mode 100644 make/csd/cygwin/g++/ta_abstract/Makefile create mode 100644 make/csd/cygwin/g++/ta_common/Makefile create mode 100644 make/csd/cygwin/g++/ta_func/Makefile create mode 100644 make/csd/cygwin/g++/ta_libc/Makefile create mode 100644 make/csd/cygwin/g++/ta_regtest/Makefile create mode 100644 make/csd/freebsd/g++/Makefile create mode 100644 make/csd/freebsd/g++/gen_code/Makefile create mode 100644 make/csd/freebsd/g++/ta_abstract/Makefile create mode 100644 make/csd/freebsd/g++/ta_common/Makefile create mode 100644 make/csd/freebsd/g++/ta_func/Makefile create mode 100644 make/csd/freebsd/g++/ta_libc/Makefile create mode 100644 make/csd/freebsd/g++/ta_regtest/Makefile create mode 100644 make/csd/linux/g++/Makefile create mode 100644 make/csd/linux/g++/gen_code/Makefile create mode 100644 make/csd/linux/g++/ta_abstract/Makefile create mode 100644 make/csd/linux/g++/ta_common/Makefile create mode 100644 make/csd/linux/g++/ta_func/Makefile create mode 100644 make/csd/linux/g++/ta_libc/Makefile create mode 100644 make/csd/linux/g++/ta_regtest/Makefile create mode 100644 make/csd/win32/borland/Makefile create mode 100644 make/csd/win32/borland/gen_code/Makefile create mode 100644 make/csd/win32/borland/ta_abstract/Makefile create mode 100644 make/csd/win32/borland/ta_common/Makefile create mode 100644 make/csd/win32/borland/ta_func/Makefile create mode 100644 make/csd/win32/borland/ta_libc/Makefile create mode 100644 make/csd/win32/borland/ta_regtest/Makefile create mode 100644 make/csd/win32/msvc/Makefile create mode 100644 make/csd/win32/msvc/gen_code/Makefile create mode 100644 make/csd/win32/msvc/ta_abstract/Makefile create mode 100644 make/csd/win32/msvc/ta_common/Makefile create mode 100644 make/csd/win32/msvc/ta_func/Makefile create mode 100644 make/csd/win32/msvc/ta_libc/Makefile create mode 100644 make/csd/win32/msvc/ta_regtest/Makefile create mode 100644 make/csd/win32/symantec/Makefile create mode 100644 make/csd/win32/symantec/gen_code/Makefile create mode 100644 make/csd/win32/symantec/ta_abstract/Makefile create mode 100644 make/csd/win32/symantec/ta_common/Makefile create mode 100644 make/csd/win32/symantec/ta_func/Makefile create mode 100644 make/csd/win32/symantec/ta_libc/Makefile create mode 100644 make/csd/win32/symantec/ta_regtest/Makefile create mode 100644 make/csd/win32/watcom/Makefile create mode 100644 make/csd/win32/watcom/gen_code/Makefile create mode 100644 make/csd/win32/watcom/ta_abstract/Makefile create mode 100644 make/csd/win32/watcom/ta_common/Makefile create mode 100644 make/csd/win32/watcom/ta_func/Makefile create mode 100644 make/csd/win32/watcom/ta_libc/Makefile create mode 100644 make/csd/win32/watcom/ta_regtest/Makefile create mode 100644 make/csp/cygwin/g++/Makefile create mode 100644 make/csp/cygwin/g++/gen_code/Makefile create mode 100644 make/csp/cygwin/g++/ta_abstract/Makefile create mode 100644 make/csp/cygwin/g++/ta_common/Makefile create mode 100644 make/csp/cygwin/g++/ta_func/Makefile create mode 100644 make/csp/cygwin/g++/ta_libc/Makefile create mode 100644 make/csp/cygwin/g++/ta_regtest/Makefile create mode 100644 make/csp/freebsd/g++/Makefile create mode 100644 make/csp/freebsd/g++/gen_code/Makefile create mode 100644 make/csp/freebsd/g++/ta_abstract/Makefile create mode 100644 make/csp/freebsd/g++/ta_common/Makefile create mode 100644 make/csp/freebsd/g++/ta_func/Makefile create mode 100644 make/csp/freebsd/g++/ta_libc/Makefile create mode 100644 make/csp/freebsd/g++/ta_regtest/Makefile create mode 100644 make/csp/linux/g++/Makefile create mode 100644 make/csp/linux/g++/gen_code/Makefile create mode 100644 make/csp/linux/g++/ta_abstract/Makefile create mode 100644 make/csp/linux/g++/ta_common/Makefile create mode 100644 make/csp/linux/g++/ta_func/Makefile create mode 100644 make/csp/linux/g++/ta_libc/Makefile create mode 100644 make/csp/linux/g++/ta_regtest/Makefile create mode 100644 make/csr/cygwin/g++/Makefile create mode 100644 make/csr/cygwin/g++/gen_code/Makefile create mode 100644 make/csr/cygwin/g++/ta_abstract/Makefile create mode 100644 make/csr/cygwin/g++/ta_common/Makefile create mode 100644 make/csr/cygwin/g++/ta_func/Makefile create mode 100644 make/csr/cygwin/g++/ta_libc/Makefile create mode 100644 make/csr/cygwin/g++/ta_regtest/Makefile create mode 100644 make/csr/freebsd/g++/Makefile create mode 100644 make/csr/freebsd/g++/gen_code/Makefile create mode 100644 make/csr/freebsd/g++/ta_abstract/Makefile create mode 100644 make/csr/freebsd/g++/ta_common/Makefile create mode 100644 make/csr/freebsd/g++/ta_func/Makefile create mode 100644 make/csr/freebsd/g++/ta_libc/Makefile create mode 100644 make/csr/freebsd/g++/ta_regtest/Makefile create mode 100644 make/csr/linux/g++/Makefile create mode 100644 make/csr/linux/g++/gen_code/Makefile create mode 100644 make/csr/linux/g++/ta_abstract/Makefile create mode 100644 make/csr/linux/g++/ta_common/Makefile create mode 100644 make/csr/linux/g++/ta_func/Makefile create mode 100644 make/csr/linux/g++/ta_libc/Makefile create mode 100644 make/csr/linux/g++/ta_regtest/Makefile create mode 100644 make/csr/win32/borland/Makefile create mode 100644 make/csr/win32/borland/gen_code/Makefile create mode 100644 make/csr/win32/borland/ta_abstract/Makefile create mode 100644 make/csr/win32/borland/ta_common/Makefile create mode 100644 make/csr/win32/borland/ta_func/Makefile create mode 100644 make/csr/win32/borland/ta_libc/Makefile create mode 100644 make/csr/win32/borland/ta_regtest/Makefile create mode 100644 make/csr/win32/msvc/Makefile create mode 100644 make/csr/win32/msvc/gen_code/Makefile create mode 100644 make/csr/win32/msvc/ta_abstract/Makefile create mode 100644 make/csr/win32/msvc/ta_common/Makefile create mode 100644 make/csr/win32/msvc/ta_func/Makefile create mode 100644 make/csr/win32/msvc/ta_libc/Makefile create mode 100644 make/csr/win32/msvc/ta_regtest/Makefile create mode 100644 make/csr/win32/symantec/Makefile create mode 100644 make/csr/win32/symantec/gen_code/Makefile create mode 100644 make/csr/win32/symantec/ta_abstract/Makefile create mode 100644 make/csr/win32/symantec/ta_common/Makefile create mode 100644 make/csr/win32/symantec/ta_func/Makefile create mode 100644 make/csr/win32/symantec/ta_libc/Makefile create mode 100644 make/csr/win32/symantec/ta_regtest/Makefile create mode 100644 make/csr/win32/watcom/Makefile create mode 100644 make/csr/win32/watcom/gen_code/Makefile create mode 100644 make/csr/win32/watcom/ta_abstract/Makefile create mode 100644 make/csr/win32/watcom/ta_common/Makefile create mode 100644 make/csr/win32/watcom/ta_func/Makefile create mode 100644 make/csr/win32/watcom/ta_libc/Makefile create mode 100644 make/csr/win32/watcom/ta_regtest/Makefile create mode 100644 make/gen_make/README.TXT create mode 100644 make/gen_make/gen_code/gen_code.pro create mode 100644 make/gen_make/gen_make.pl create mode 100644 make/gen_make/make_make.pl create mode 100644 make/gen_make/rootmake.pro create mode 100644 make/gen_make/ta_abstract/make_pro.pl create mode 100644 make/gen_make/ta_abstract/ta_abstract.pro create mode 100644 make/gen_make/ta_common/ta_common.pro create mode 100644 make/gen_make/ta_func/make_pro.pl create mode 100644 make/gen_make/ta_func/ta_func.pro create mode 100644 make/gen_make/ta_libc/make_pro.pl create mode 100644 make/gen_make/ta_libc/ta_libc.pro create mode 100644 make/gen_make/ta_regtest/ta_regtest.pro create mode 100644 make/gen_make/template/cygwin-g++/app.t create mode 100644 make/gen_make/template/cygwin-g++/lib.t create mode 100644 make/gen_make/template/cygwin-g++/subdirs.t create mode 100644 make/gen_make/template/cygwin-g++/tmake.conf create mode 100644 make/gen_make/template/freebsd-g++/app.t create mode 100644 make/gen_make/template/freebsd-g++/generic.t create mode 100644 make/gen_make/template/freebsd-g++/lib.t create mode 100644 make/gen_make/template/freebsd-g++/subdirs.t create mode 100644 make/gen_make/template/freebsd-g++/tmake.conf create mode 100644 make/gen_make/template/linux-g++/app.t create mode 100644 make/gen_make/template/linux-g++/lib.t create mode 100644 make/gen_make/template/linux-g++/subdirs.t create mode 100644 make/gen_make/template/linux-g++/tmake.conf create mode 100644 make/gen_make/template/unix/app.t create mode 100644 make/gen_make/template/unix/generic.t create mode 100644 make/gen_make/template/unix/lib.t create mode 100644 make/gen_make/template/unix/subdirs.t create mode 100644 make/gen_make/template/win32-borland/app.t create mode 100644 make/gen_make/template/win32-borland/generic.t create mode 100644 make/gen_make/template/win32-borland/lib.t create mode 100644 make/gen_make/template/win32-borland/subdirs.t create mode 100644 make/gen_make/template/win32-borland/tmake.conf create mode 100644 make/gen_make/template/win32-msvc/app.t create mode 100644 make/gen_make/template/win32-msvc/generic.t create mode 100644 make/gen_make/template/win32-msvc/lib.t create mode 100644 make/gen_make/template/win32-msvc/subdirs.t create mode 100644 make/gen_make/template/win32-msvc/tmake.conf create mode 100644 make/gen_make/template/win32-msvc/vcapp.t create mode 100644 make/gen_make/template/win32-msvc/vcgeneric.t create mode 100644 make/gen_make/template/win32-msvc/vclib.t create mode 100644 make/gen_make/template/win32-msvc/win32app.dsp create mode 100644 make/gen_make/template/win32-msvc/win32dll.dsp create mode 100644 make/gen_make/template/win32-msvc/win32lib.dsp create mode 100644 make/gen_make/template/win32-symantec/app.t create mode 100644 make/gen_make/template/win32-symantec/generic.t create mode 100644 make/gen_make/template/win32-symantec/lib.t create mode 100644 make/gen_make/template/win32-symantec/subdirs.t create mode 100644 make/gen_make/template/win32-symantec/tmake.conf create mode 100644 make/gen_make/template/win32-watcom/app.t create mode 100644 make/gen_make/template/win32-watcom/generic.t create mode 100644 make/gen_make/template/win32-watcom/lib.t create mode 100644 make/gen_make/template/win32-watcom/subdirs.t create mode 100644 make/gen_make/template/win32-watcom/tmake.conf create mode 100644 make/gen_make/template/win32/subdirs.t create mode 100644 src/Makefile.am create mode 100644 src/ta_abstract/Makefile.am create mode 100644 src/ta_abstract/excel_glue.c create mode 100644 src/ta_abstract/frames/ta_frame.c create mode 100644 src/ta_abstract/frames/ta_frame.h create mode 100644 src/ta_abstract/ta_abstract.c create mode 100644 src/ta_abstract/ta_def_ui.c create mode 100644 src/ta_abstract/ta_def_ui.h create mode 100644 src/ta_abstract/ta_frame_priv.h create mode 100644 src/ta_abstract/ta_func_api.c create mode 100644 src/ta_abstract/ta_group_idx.c create mode 100644 src/ta_abstract/ta_java_defs.h create mode 100644 src/ta_abstract/tables/table_a.c create mode 100644 src/ta_abstract/tables/table_b.c create mode 100644 src/ta_abstract/tables/table_c.c create mode 100644 src/ta_abstract/tables/table_d.c create mode 100644 src/ta_abstract/tables/table_e.c create mode 100644 src/ta_abstract/tables/table_f.c create mode 100644 src/ta_abstract/tables/table_g.c create mode 100644 src/ta_abstract/tables/table_h.c create mode 100644 src/ta_abstract/tables/table_i.c create mode 100644 src/ta_abstract/tables/table_j.c create mode 100644 src/ta_abstract/tables/table_k.c create mode 100644 src/ta_abstract/tables/table_l.c create mode 100644 src/ta_abstract/tables/table_m.c create mode 100644 src/ta_abstract/tables/table_n.c create mode 100644 src/ta_abstract/tables/table_o.c create mode 100644 src/ta_abstract/tables/table_p.c create mode 100644 src/ta_abstract/tables/table_q.c create mode 100644 src/ta_abstract/tables/table_r.c create mode 100644 src/ta_abstract/tables/table_s.c create mode 100644 src/ta_abstract/tables/table_t.c create mode 100644 src/ta_abstract/tables/table_u.c create mode 100644 src/ta_abstract/tables/table_v.c create mode 100644 src/ta_abstract/tables/table_w.c create mode 100644 src/ta_abstract/tables/table_x.c create mode 100644 src/ta_abstract/tables/table_y.c create mode 100644 src/ta_abstract/tables/table_z.c create mode 100644 src/ta_abstract/templates/CoreAnnotated.java.template create mode 100644 src/ta_abstract/templates/Makefile.am.template create mode 100644 src/ta_abstract/templates/excel_glue.c.template create mode 100644 src/ta_abstract/templates/ta_frame.c.template create mode 100644 src/ta_abstract/templates/ta_frame.h.template create mode 100644 src/ta_abstract/templates/ta_func.h.template create mode 100644 src/ta_abstract/templates/ta_func.swg.template create mode 100644 src/ta_abstract/templates/ta_func_api.c.template create mode 100644 src/ta_abstract/templates/ta_group_idx.c.template create mode 100644 src/ta_abstract/templates/ta_java_defs.h.template create mode 100644 src/ta_abstract/templates/ta_retcode.c.template create mode 100644 src/ta_abstract/templates/ta_x.c.template create mode 100644 src/ta_common/Makefile.am create mode 100644 src/ta_common/ta_global.c create mode 100644 src/ta_common/ta_global.h create mode 100644 src/ta_common/ta_magic_nb.h create mode 100644 src/ta_common/ta_memory.h create mode 100644 src/ta_common/ta_pragma.h create mode 100644 src/ta_common/ta_retcode.c create mode 100644 src/ta_common/ta_retcode.csv create mode 100644 src/ta_common/ta_version.c create mode 100644 src/ta_func/Makefile.am create mode 100644 src/ta_func/ta_ACOS.c create mode 100644 src/ta_func/ta_AD.c create mode 100644 src/ta_func/ta_ADD.c create mode 100644 src/ta_func/ta_ADOSC.c create mode 100644 src/ta_func/ta_ADX.c create mode 100644 src/ta_func/ta_ADXR.c create mode 100644 src/ta_func/ta_APO.c create mode 100644 src/ta_func/ta_AROON.c create mode 100644 src/ta_func/ta_AROONOSC.c create mode 100644 src/ta_func/ta_ASIN.c create mode 100644 src/ta_func/ta_ATAN.c create mode 100644 src/ta_func/ta_ATR.c create mode 100644 src/ta_func/ta_AVGPRICE.c create mode 100644 src/ta_func/ta_BBANDS.c create mode 100644 src/ta_func/ta_BETA.c create mode 100644 src/ta_func/ta_BOP.c create mode 100644 src/ta_func/ta_CCI.c create mode 100644 src/ta_func/ta_CDL2CROWS.c create mode 100644 src/ta_func/ta_CDL3BLACKCROWS.c create mode 100644 src/ta_func/ta_CDL3INSIDE.c create mode 100644 src/ta_func/ta_CDL3LINESTRIKE.c create mode 100644 src/ta_func/ta_CDL3OUTSIDE.c create mode 100644 src/ta_func/ta_CDL3STARSINSOUTH.c create mode 100644 src/ta_func/ta_CDL3WHITESOLDIERS.c create mode 100644 src/ta_func/ta_CDLABANDONEDBABY.c create mode 100644 src/ta_func/ta_CDLADVANCEBLOCK.c create mode 100644 src/ta_func/ta_CDLBELTHOLD.c create mode 100644 src/ta_func/ta_CDLBREAKAWAY.c create mode 100644 src/ta_func/ta_CDLCLOSINGMARUBOZU.c create mode 100644 src/ta_func/ta_CDLCONCEALBABYSWALL.c create mode 100644 src/ta_func/ta_CDLCOUNTERATTACK.c create mode 100644 src/ta_func/ta_CDLDARKCLOUDCOVER.c create mode 100644 src/ta_func/ta_CDLDOJI.c create mode 100644 src/ta_func/ta_CDLDOJISTAR.c create mode 100644 src/ta_func/ta_CDLDRAGONFLYDOJI.c create mode 100644 src/ta_func/ta_CDLENGULFING.c create mode 100644 src/ta_func/ta_CDLEVENINGDOJISTAR.c create mode 100644 src/ta_func/ta_CDLEVENINGSTAR.c create mode 100644 src/ta_func/ta_CDLGAPSIDESIDEWHITE.c create mode 100644 src/ta_func/ta_CDLGRAVESTONEDOJI.c create mode 100644 src/ta_func/ta_CDLHAMMER.c create mode 100644 src/ta_func/ta_CDLHANGINGMAN.c create mode 100644 src/ta_func/ta_CDLHARAMI.c create mode 100644 src/ta_func/ta_CDLHARAMICROSS.c create mode 100644 src/ta_func/ta_CDLHIGHWAVE.c create mode 100644 src/ta_func/ta_CDLHIKKAKE.c create mode 100644 src/ta_func/ta_CDLHIKKAKEMOD.c create mode 100644 src/ta_func/ta_CDLHOMINGPIGEON.c create mode 100644 src/ta_func/ta_CDLIDENTICAL3CROWS.c create mode 100644 src/ta_func/ta_CDLINNECK.c create mode 100644 src/ta_func/ta_CDLINVERTEDHAMMER.c create mode 100644 src/ta_func/ta_CDLKICKING.c create mode 100644 src/ta_func/ta_CDLKICKINGBYLENGTH.c create mode 100644 src/ta_func/ta_CDLLADDERBOTTOM.c create mode 100644 src/ta_func/ta_CDLLONGLEGGEDDOJI.c create mode 100644 src/ta_func/ta_CDLLONGLINE.c create mode 100644 src/ta_func/ta_CDLMARUBOZU.c create mode 100644 src/ta_func/ta_CDLMATCHINGLOW.c create mode 100644 src/ta_func/ta_CDLMATHOLD.c create mode 100644 src/ta_func/ta_CDLMORNINGDOJISTAR.c create mode 100644 src/ta_func/ta_CDLMORNINGSTAR.c create mode 100644 src/ta_func/ta_CDLONNECK.c create mode 100644 src/ta_func/ta_CDLPIERCING.c create mode 100644 src/ta_func/ta_CDLRICKSHAWMAN.c create mode 100644 src/ta_func/ta_CDLRISEFALL3METHODS.c create mode 100644 src/ta_func/ta_CDLSEPARATINGLINES.c create mode 100644 src/ta_func/ta_CDLSHOOTINGSTAR.c create mode 100644 src/ta_func/ta_CDLSHORTLINE.c create mode 100644 src/ta_func/ta_CDLSPINNINGTOP.c create mode 100644 src/ta_func/ta_CDLSTALLEDPATTERN.c create mode 100644 src/ta_func/ta_CDLSTICKSANDWICH.c create mode 100644 src/ta_func/ta_CDLTAKURI.c create mode 100644 src/ta_func/ta_CDLTASUKIGAP.c create mode 100644 src/ta_func/ta_CDLTHRUSTING.c create mode 100644 src/ta_func/ta_CDLTRISTAR.c create mode 100644 src/ta_func/ta_CDLUNIQUE3RIVER.c create mode 100644 src/ta_func/ta_CDLUPSIDEGAP2CROWS.c create mode 100644 src/ta_func/ta_CDLXSIDEGAP3METHODS.c create mode 100644 src/ta_func/ta_CEIL.c create mode 100644 src/ta_func/ta_CMO.c create mode 100644 src/ta_func/ta_CORREL.c create mode 100644 src/ta_func/ta_COS.c create mode 100644 src/ta_func/ta_COSH.c create mode 100644 src/ta_func/ta_DEMA.c create mode 100644 src/ta_func/ta_DIV.c create mode 100644 src/ta_func/ta_DX.c create mode 100644 src/ta_func/ta_EMA.c create mode 100644 src/ta_func/ta_EXP.c create mode 100644 src/ta_func/ta_FLOOR.c create mode 100644 src/ta_func/ta_HT_DCPERIOD.c create mode 100644 src/ta_func/ta_HT_DCPHASE.c create mode 100644 src/ta_func/ta_HT_PHASOR.c create mode 100644 src/ta_func/ta_HT_SINE.c create mode 100644 src/ta_func/ta_HT_TRENDLINE.c create mode 100644 src/ta_func/ta_HT_TRENDMODE.c create mode 100644 src/ta_func/ta_KAMA.c create mode 100644 src/ta_func/ta_LINEARREG.c create mode 100644 src/ta_func/ta_LINEARREG_ANGLE.c create mode 100644 src/ta_func/ta_LINEARREG_INTERCEPT.c create mode 100644 src/ta_func/ta_LINEARREG_SLOPE.c create mode 100644 src/ta_func/ta_LN.c create mode 100644 src/ta_func/ta_LOG10.c create mode 100644 src/ta_func/ta_MA.c create mode 100644 src/ta_func/ta_MACD.c create mode 100644 src/ta_func/ta_MACDEXT.c create mode 100644 src/ta_func/ta_MACDFIX.c create mode 100644 src/ta_func/ta_MAMA.c create mode 100644 src/ta_func/ta_MAVP.c create mode 100644 src/ta_func/ta_MAX.c create mode 100644 src/ta_func/ta_MAXINDEX.c create mode 100644 src/ta_func/ta_MEDPRICE.c create mode 100644 src/ta_func/ta_MFI.c create mode 100644 src/ta_func/ta_MIDPOINT.c create mode 100644 src/ta_func/ta_MIDPRICE.c create mode 100644 src/ta_func/ta_MIN.c create mode 100644 src/ta_func/ta_MININDEX.c create mode 100644 src/ta_func/ta_MINMAX.c create mode 100644 src/ta_func/ta_MINMAXINDEX.c create mode 100644 src/ta_func/ta_MINUS_DI.c create mode 100644 src/ta_func/ta_MINUS_DM.c create mode 100644 src/ta_func/ta_MOM.c create mode 100644 src/ta_func/ta_MULT.c create mode 100644 src/ta_func/ta_NATR.c create mode 100644 src/ta_func/ta_NVI.c create mode 100644 src/ta_func/ta_OBV.c create mode 100644 src/ta_func/ta_PLUS_DI.c create mode 100644 src/ta_func/ta_PLUS_DM.c create mode 100644 src/ta_func/ta_PPO.c create mode 100644 src/ta_func/ta_PVI.c create mode 100644 src/ta_func/ta_ROC.c create mode 100644 src/ta_func/ta_ROCP.c create mode 100644 src/ta_func/ta_ROCR.c create mode 100644 src/ta_func/ta_ROCR100.c create mode 100644 src/ta_func/ta_RSI.c create mode 100644 src/ta_func/ta_SAR.c create mode 100644 src/ta_func/ta_SAREXT.c create mode 100644 src/ta_func/ta_SIN.c create mode 100644 src/ta_func/ta_SINH.c create mode 100644 src/ta_func/ta_SMA.c create mode 100644 src/ta_func/ta_SQRT.c create mode 100644 src/ta_func/ta_STDDEV.c create mode 100644 src/ta_func/ta_STOCH.c create mode 100644 src/ta_func/ta_STOCHF.c create mode 100644 src/ta_func/ta_STOCHRSI.c create mode 100644 src/ta_func/ta_SUB.c create mode 100644 src/ta_func/ta_SUM.c create mode 100644 src/ta_func/ta_T3.c create mode 100644 src/ta_func/ta_TAN.c create mode 100644 src/ta_func/ta_TANH.c create mode 100644 src/ta_func/ta_TEMA.c create mode 100644 src/ta_func/ta_TRANGE.c create mode 100644 src/ta_func/ta_TRIMA.c create mode 100644 src/ta_func/ta_TRIX.c create mode 100644 src/ta_func/ta_TSF.c create mode 100644 src/ta_func/ta_TYPPRICE.c create mode 100644 src/ta_func/ta_ULTOSC.c create mode 100644 src/ta_func/ta_VAR.c create mode 100644 src/ta_func/ta_WCLPRICE.c create mode 100644 src/ta_func/ta_WILLR.c create mode 100644 src/ta_func/ta_WMA.c create mode 100644 src/ta_func/ta_utility.c create mode 100644 src/ta_func/ta_utility.h create mode 100644 src/tools/Makefile.am create mode 100644 src/tools/gen_code/Makefile.am create mode 100644 src/tools/gen_code/gen_code.c create mode 100644 src/tools/gen_code/java/Main.java create mode 100644 src/tools/gen_code/java/PrettyCode.java create mode 100644 src/tools/gen_code/mcpp.exe create mode 100644 src/tools/ta_regtest/Makefile.am create mode 100644 src/tools/ta_regtest/ReadMe.txt create mode 100644 src/tools/ta_regtest/ta_error_number.h create mode 100644 src/tools/ta_regtest/ta_gDataClose.c create mode 100644 src/tools/ta_regtest/ta_gDataHigh.c create mode 100644 src/tools/ta_regtest/ta_gDataLow.c create mode 100644 src/tools/ta_regtest/ta_gDataOpen.c create mode 100644 src/tools/ta_regtest/ta_regtest.c create mode 100644 src/tools/ta_regtest/ta_test_func.h create mode 100644 src/tools/ta_regtest/ta_test_func/test_1in_1out.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_1in_2out.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_adx.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_bbands.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_candlestick.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_ma.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_macd.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_minmax.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_mom.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_per_ema.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_per_hl.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_per_hlc.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_per_hlcv.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_per_ohlc.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_po.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_rsi.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_sar.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_stddev.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_stoch.c create mode 100644 src/tools/ta_regtest/ta_test_func/test_trange.c create mode 100644 src/tools/ta_regtest/ta_test_priv.h create mode 100644 src/tools/ta_regtest/test_abstract.c create mode 100644 src/tools/ta_regtest/test_data.c create mode 100644 src/tools/ta_regtest/test_internals.c create mode 100644 src/tools/ta_regtest/test_util.c create mode 100644 ta-lib-config.in create mode 100644 ta-lib.dpkg.in create mode 100644 ta-lib.spec.in create mode 100644 temp/cdd/gen_code/HOLDER create mode 100644 temp/cdd/ta_abstract/HOLDER create mode 100644 temp/cdd/ta_common/HOLDER create mode 100644 temp/cdd/ta_func/HOLDER create mode 100644 temp/cdd/ta_libc/HOLDER create mode 100644 temp/cdd/ta_regtest/HOLDER create mode 100644 temp/cdr/gen_code/HOLDER create mode 100644 temp/cdr/ta_abstract/HOLDER create mode 100644 temp/cdr/ta_common/HOLDER create mode 100644 temp/cdr/ta_func/HOLDER create mode 100644 temp/cdr/ta_libc/HOLDER create mode 100644 temp/cdr/ta_regtest/HOLDER create mode 100644 temp/cmd/gen_code/HOLDER create mode 100644 temp/cmd/ta_abstract/HOLDER create mode 100644 temp/cmd/ta_common/HOLDER create mode 100644 temp/cmd/ta_func/HOLDER create mode 100644 temp/cmd/ta_libc/HOLDER create mode 100644 temp/cmd/ta_regtest/HOLDER create mode 100644 temp/cmp/gen_code/HOLDER create mode 100644 temp/cmp/ta_abstract/HOLDER create mode 100644 temp/cmp/ta_common/HOLDER create mode 100644 temp/cmp/ta_func/HOLDER create mode 100644 temp/cmp/ta_libc/HOLDER create mode 100644 temp/cmp/ta_regtest/HOLDER create mode 100644 temp/cmr/gen_code/HOLDER create mode 100644 temp/cmr/ta_abstract/HOLDER create mode 100644 temp/cmr/ta_common/HOLDER create mode 100644 temp/cmr/ta_func/HOLDER create mode 100644 temp/cmr/ta_libc/HOLDER create mode 100644 temp/cmr/ta_regtest/HOLDER create mode 100644 temp/csd/gen_code/HOLDER create mode 100644 temp/csd/ta_abstract/HOLDER create mode 100644 temp/csd/ta_common/HOLDER create mode 100644 temp/csd/ta_func/HOLDER create mode 100644 temp/csd/ta_libc/HOLDER create mode 100644 temp/csd/ta_regtest/HOLDER create mode 100644 temp/csp/gen_code/HOLDER create mode 100644 temp/csp/ta_abstract/HOLDER create mode 100644 temp/csp/ta_common/HOLDER create mode 100644 temp/csp/ta_func/HOLDER create mode 100644 temp/csp/ta_libc/HOLDER create mode 100644 temp/csp/ta_regtest/HOLDER create mode 100644 temp/csr/gen_code/HOLDER create mode 100644 temp/csr/ta_abstract/HOLDER create mode 100644 temp/csr/ta_common/HOLDER create mode 100644 temp/csr/ta_func/HOLDER create mode 100644 temp/csr/ta_libc/HOLDER create mode 100644 temp/csr/ta_regtest/HOLDER diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 000000000..269267110 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,3 @@ +AUTOMAKE_OPTIONS = foreign 1.4 +SUBDIRS = src src/tools +bin_SCRIPTS = ta-lib-config diff --git a/autogen.sh b/autogen.sh new file mode 100644 index 000000000..180eccfdb --- /dev/null +++ b/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/bin/.cvsignore b/bin/.cvsignore new file mode 100644 index 000000000..1176d23e0 --- /dev/null +++ b/bin/.cvsignore @@ -0,0 +1,7 @@ +gen_code +gen_data +gen_rdata +ta_regtest +ta_sql +ta_yahoo +webfetch diff --git a/bin/HOLDER b/bin/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/configure.in b/configure.in new file mode 100644 index 000000000..15f69f4d4 --- /dev/null +++ b/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/ide/msvc/lib_proj/gen_code/gen_code.dsp b/ide/msvc/lib_proj/gen_code/gen_code.dsp new file mode 100644 index 000000000..120eb0339 --- /dev/null +++ b/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/ide/msvc/lib_proj/lib_proj.dsw b/ide/msvc/lib_proj/lib_proj.dsw new file mode 100644 index 000000000..7fa958042 --- /dev/null +++ b/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/ide/msvc/lib_proj/ta_abstract/ta_abstract.dsp b/ide/msvc/lib_proj/ta_abstract/ta_abstract.dsp new file mode 100644 index 000000000..ff3bb0cb7 --- /dev/null +++ b/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/ide/msvc/lib_proj/ta_common/ta_common.dsp b/ide/msvc/lib_proj/ta_common/ta_common.dsp new file mode 100644 index 000000000..60f040d58 --- /dev/null +++ b/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/ide/msvc/lib_proj/ta_func/ta_func.dsp b/ide/msvc/lib_proj/ta_func/ta_func.dsp new file mode 100644 index 000000000..960837175 --- /dev/null +++ b/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/ide/msvc/lib_proj/ta_libc/ta_libc.dsp b/ide/msvc/lib_proj/ta_libc/ta_libc.dsp new file mode 100644 index 000000000..df69e9f85 --- /dev/null +++ b/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/ide/msvc/lib_proj/ta_regtest/ta_regtest.dsp b/ide/msvc/lib_proj/ta_regtest/ta_regtest.dsp new file mode 100644 index 000000000..3ecdede6e --- /dev/null +++ b/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/ide/vs2005/lib_proj/gen_code/gen_code.vcproj b/ide/vs2005/lib_proj/gen_code/gen_code.vcproj new file mode 100644 index 000000000..5054226d2 --- /dev/null +++ b/ide/vs2005/lib_proj/gen_code/gen_code.vcproj @@ -0,0 +1,2168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/vs2005/lib_proj/ta_abstract/ta_abstract.vcproj b/ide/vs2005/lib_proj/ta_abstract/ta_abstract.vcproj new file mode 100644 index 000000000..a62a63884 --- /dev/null +++ b/ide/vs2005/lib_proj/ta_abstract/ta_abstract.vcproj @@ -0,0 +1,2136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/vs2005/lib_proj/ta_common/ta_common.vcproj b/ide/vs2005/lib_proj/ta_common/ta_common.vcproj new file mode 100644 index 000000000..dfd97ede3 --- /dev/null +++ b/ide/vs2005/lib_proj/ta_common/ta_common.vcproj @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/vs2005/lib_proj/ta_func/ta_func.vcproj b/ide/vs2005/lib_proj/ta_func/ta_func.vcproj new file mode 100644 index 000000000..33d9e1a23 --- /dev/null +++ b/ide/vs2005/lib_proj/ta_func/ta_func.vcproj @@ -0,0 +1,1011 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/vs2005/lib_proj/ta_lib.sln b/ide/vs2005/lib_proj/ta_lib.sln new file mode 100644 index 000000000..e54f0b9cc --- /dev/null +++ b/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/ide/vs2005/lib_proj/ta_libc/ta_libc.vcproj b/ide/vs2005/lib_proj/ta_libc/ta_libc.vcproj new file mode 100644 index 000000000..2ad5e64d4 --- /dev/null +++ b/ide/vs2005/lib_proj/ta_libc/ta_libc.vcproj @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/vs2005/lib_proj/ta_regtest/ta_regtest.vcproj b/ide/vs2005/lib_proj/ta_regtest/ta_regtest.vcproj new file mode 100644 index 000000000..6aefe67d9 --- /dev/null +++ b/ide/vs2005/lib_proj/ta_regtest/ta_regtest.vcproj @@ -0,0 +1,1937 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/xcode/TALib/.DS_Store b/ide/xcode/TALib/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6564db4d38e8bb4d2df81467d443248b32fd82fe GIT binary patch literal 6148 zcmeHK!A=4(5Pd~7s3CIH+kOFwf3P4NNHh|~#2dnbum)L!Vm$8e@OK`);hVOSU66|h zW6Vr4eQkGM+j%9l1z_s)!6{GyP@)SK_E~&m@?Ctx3cg1^8au`yjz&p;lJqxXwc~Fp zAbYoqKIVuqL3aPXw!FxQGMboT#E2Nr7^BMC6J|*8(3&KX-*Nd7E$JsqYpekWXpwo( z$SN6*|B~mJ#TsW1kLYoxDLGL-7B`ITWyY`IifgN(feT_6w>ZNkTTOC1Y<1T7ZSp@d z{3AxyaL(EKWV|8bN(UHj$?koPUCFS!Xj73PbB#HUWE)|epWSAfU40p^WXz~(%y}i> zEgIRp7nyZ)A!@3CDxeDdSOK2dVx>ceTB-u7fGV(3K>i;Bx?t!rb!h)OSlA~3Q7(zr zSeI*{Z~~8^$J8Oe(2S!J9o6_JhH-TE2R<(Jm^yTH82|V%erDsZtH#dG@dFzU6FSsV z6;K883hcOMMb7``_V<6Dq%BoI75G;Qm}29)QD;j2Y~4ss&f0)}M;DX0)ZvQ4iam-M fD@XA$-5UD?sSrbtsYCYA^dewo&_WgXRRul)yD)sP literal 0 HcmV?d00001 diff --git a/ide/xcode/TALib/English.lproj/InfoPlist.strings b/ide/xcode/TALib/English.lproj/InfoPlist.strings new file mode 100644 index 0000000000000000000000000000000000000000..a18c7c02ed4256df307aabe5718248f8305f040b GIT binary patch literal 364 zcmZvYOAo2^O`k8d zRFk8rjJ8_qs8|n$3h3R)iBdX7XRZUGMpDLq!Kz+BW8lEL$EKeg{Q3vQk z&GA2x9St~TEj46rtPOR)K)=wQDGBbYKavHVgm-7{eqJs#ZF`EnCOBk2@*; + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + TALib + CFBundleIconFile + + CFBundleIdentifier + org.ta-lib.ta-lib + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/ide/xcode/TALib/README_XCODE.TXT b/ide/xcode/TALib/README_XCODE.TXT new file mode 100644 index 000000000..ac115d10f --- /dev/null +++ b/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/ide/xcode/TALib/TALib.xcodeproj/project.pbxproj b/ide/xcode/TALib/TALib.xcodeproj/project.pbxproj new file mode 100644 index 000000000..42613b7ed --- /dev/null +++ b/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/ide/xcode/TALib/TALib_Prefix.pch b/ide/xcode/TALib/TALib_Prefix.pch new file mode 100644 index 000000000..7ea5cbfa2 --- /dev/null +++ b/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/ide/xcode/TALib/main.c b/ide/xcode/TALib/main.c new file mode 100644 index 000000000..416b14dc5 --- /dev/null +++ b/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/ide/xcode/TALib/version.plist b/ide/xcode/TALib/version.plist new file mode 100644 index 000000000..169b5fae8 --- /dev/null +++ b/ide/xcode/TALib/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 38 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + CarbonProjectTemplates + SourceVersion + 140000 + + diff --git a/include/Makefile.am b/include/Makefile.am new file mode 100644 index 000000000..b99b6f178 --- /dev/null +++ b/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/include/ta_abstract.h b/include/ta_abstract.h new file mode 100644 index 000000000..808b5ae43 --- /dev/null +++ b/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/include/ta_common.h b/include/ta_common.h new file mode 100644 index 000000000..5d7c2449e --- /dev/null +++ b/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/include/ta_defs.h b/include/ta_defs.h new file mode 100644 index 000000000..2c36143b1 --- /dev/null +++ b/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/include/ta_func.h b/include/ta_func.h new file mode 100644 index 000000000..918b4dc88 --- /dev/null +++ b/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/include/ta_libc.h b/include/ta_libc.h new file mode 100644 index 000000000..a2d95598f --- /dev/null +++ b/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/lib/HOLDER b/lib/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/make/README.TXT b/make/README.TXT new file mode 100644 index 000000000..b003ca549 --- /dev/null +++ b/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/make/cdd/win32/msvc/Makefile b/make/cdd/win32/msvc/Makefile new file mode 100644 index 000000000..317a98ad5 --- /dev/null +++ b/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/make/cdd/win32/msvc/gen_code/Makefile b/make/cdd/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..568442282 --- /dev/null +++ b/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/make/cdd/win32/msvc/ta_abstract/Makefile b/make/cdd/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..ad9da7094 --- /dev/null +++ b/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/make/cdd/win32/msvc/ta_common/Makefile b/make/cdd/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..aec82909c --- /dev/null +++ b/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/make/cdd/win32/msvc/ta_func/Makefile b/make/cdd/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..d00843585 --- /dev/null +++ b/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/make/cdd/win32/msvc/ta_libc/Makefile b/make/cdd/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..606be2dcd --- /dev/null +++ b/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/make/cdd/win32/msvc/ta_regtest/Makefile b/make/cdd/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..e8a2445c5 --- /dev/null +++ b/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/make/cdr/win32/msvc/Makefile b/make/cdr/win32/msvc/Makefile new file mode 100644 index 000000000..5cd9cfeaf --- /dev/null +++ b/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/make/cdr/win32/msvc/gen_code/Makefile b/make/cdr/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..df6d6399e --- /dev/null +++ b/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/make/cdr/win32/msvc/ta_abstract/Makefile b/make/cdr/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..d301a0168 --- /dev/null +++ b/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/make/cdr/win32/msvc/ta_common/Makefile b/make/cdr/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..0d7ca6ed7 --- /dev/null +++ b/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/make/cdr/win32/msvc/ta_func/Makefile b/make/cdr/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..d22e9b139 --- /dev/null +++ b/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/make/cdr/win32/msvc/ta_libc/Makefile b/make/cdr/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..bbf9dd0fd --- /dev/null +++ b/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/make/cdr/win32/msvc/ta_regtest/Makefile b/make/cdr/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..b78cae88a --- /dev/null +++ b/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/make/cmd/cygwin/g++/Makefile b/make/cmd/cygwin/g++/Makefile new file mode 100644 index 000000000..0257e4662 --- /dev/null +++ b/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/make/cmd/cygwin/g++/gen_code/Makefile b/make/cmd/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..3f0002872 --- /dev/null +++ b/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/make/cmd/cygwin/g++/ta_abstract/Makefile b/make/cmd/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..587997748 --- /dev/null +++ b/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/make/cmd/cygwin/g++/ta_common/Makefile b/make/cmd/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..21e06dee8 --- /dev/null +++ b/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/make/cmd/cygwin/g++/ta_func/Makefile b/make/cmd/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..cca98825f --- /dev/null +++ b/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/make/cmd/cygwin/g++/ta_libc/Makefile b/make/cmd/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..6f651789a --- /dev/null +++ b/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/make/cmd/cygwin/g++/ta_regtest/Makefile b/make/cmd/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..0c66eea9d --- /dev/null +++ b/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/make/cmd/freebsd/g++/Makefile b/make/cmd/freebsd/g++/Makefile new file mode 100644 index 000000000..b92855283 --- /dev/null +++ b/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/make/cmd/freebsd/g++/gen_code/Makefile b/make/cmd/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..f2b328b41 --- /dev/null +++ b/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/make/cmd/freebsd/g++/ta_abstract/Makefile b/make/cmd/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..68e034d6b --- /dev/null +++ b/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/make/cmd/freebsd/g++/ta_common/Makefile b/make/cmd/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..848449b6d --- /dev/null +++ b/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/make/cmd/freebsd/g++/ta_func/Makefile b/make/cmd/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..20f85d506 --- /dev/null +++ b/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/make/cmd/freebsd/g++/ta_libc/Makefile b/make/cmd/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..2611f693c --- /dev/null +++ b/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/make/cmd/freebsd/g++/ta_regtest/Makefile b/make/cmd/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..167b52f1f --- /dev/null +++ b/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/make/cmd/linux/g++/Makefile b/make/cmd/linux/g++/Makefile new file mode 100644 index 000000000..60f7bb666 --- /dev/null +++ b/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/make/cmd/linux/g++/gen_code/Makefile b/make/cmd/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..665737f1d --- /dev/null +++ b/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/make/cmd/linux/g++/ta_abstract/Makefile b/make/cmd/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..1b83b60f9 --- /dev/null +++ b/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/make/cmd/linux/g++/ta_common/Makefile b/make/cmd/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..2b06e94ce --- /dev/null +++ b/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/make/cmd/linux/g++/ta_func/Makefile b/make/cmd/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..229342539 --- /dev/null +++ b/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/make/cmd/linux/g++/ta_libc/Makefile b/make/cmd/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..ce808a882 --- /dev/null +++ b/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/make/cmd/linux/g++/ta_regtest/Makefile b/make/cmd/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..163ebd5c6 --- /dev/null +++ b/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/make/cmd/win32/borland/Makefile b/make/cmd/win32/borland/Makefile new file mode 100644 index 000000000..4e18860b0 --- /dev/null +++ b/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/make/cmd/win32/borland/gen_code/Makefile b/make/cmd/win32/borland/gen_code/Makefile new file mode 100644 index 000000000..6a7a2576f --- /dev/null +++ b/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/make/cmd/win32/borland/ta_abstract/Makefile b/make/cmd/win32/borland/ta_abstract/Makefile new file mode 100644 index 000000000..82d47caa5 --- /dev/null +++ b/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/make/cmd/win32/borland/ta_common/Makefile b/make/cmd/win32/borland/ta_common/Makefile new file mode 100644 index 000000000..90d5b075b --- /dev/null +++ b/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/make/cmd/win32/borland/ta_func/Makefile b/make/cmd/win32/borland/ta_func/Makefile new file mode 100644 index 000000000..1aed95833 --- /dev/null +++ b/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/make/cmd/win32/borland/ta_libc/Makefile b/make/cmd/win32/borland/ta_libc/Makefile new file mode 100644 index 000000000..c673ccbb9 --- /dev/null +++ b/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/make/cmd/win32/borland/ta_regtest/Makefile b/make/cmd/win32/borland/ta_regtest/Makefile new file mode 100644 index 000000000..778524675 --- /dev/null +++ b/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/make/cmd/win32/msvc/Makefile b/make/cmd/win32/msvc/Makefile new file mode 100644 index 000000000..031344b18 --- /dev/null +++ b/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/make/cmd/win32/msvc/gen_code/Makefile b/make/cmd/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..fd6857787 --- /dev/null +++ b/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/make/cmd/win32/msvc/ta_abstract/Makefile b/make/cmd/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..eea6e61a7 --- /dev/null +++ b/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/make/cmd/win32/msvc/ta_common/Makefile b/make/cmd/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..3b7d015e6 --- /dev/null +++ b/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/make/cmd/win32/msvc/ta_func/Makefile b/make/cmd/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..421569ac2 --- /dev/null +++ b/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/make/cmd/win32/msvc/ta_libc/Makefile b/make/cmd/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..62a9b4141 --- /dev/null +++ b/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/make/cmd/win32/msvc/ta_regtest/Makefile b/make/cmd/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..bfbca4922 --- /dev/null +++ b/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/make/cmd/win32/symantec/Makefile b/make/cmd/win32/symantec/Makefile new file mode 100644 index 000000000..7e9fd9364 --- /dev/null +++ b/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/make/cmd/win32/symantec/gen_code/Makefile b/make/cmd/win32/symantec/gen_code/Makefile new file mode 100644 index 000000000..5d5685174 --- /dev/null +++ b/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/make/cmd/win32/symantec/ta_abstract/Makefile b/make/cmd/win32/symantec/ta_abstract/Makefile new file mode 100644 index 000000000..b5f79aff9 --- /dev/null +++ b/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/make/cmd/win32/symantec/ta_common/Makefile b/make/cmd/win32/symantec/ta_common/Makefile new file mode 100644 index 000000000..93bdf6f5f --- /dev/null +++ b/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/make/cmd/win32/symantec/ta_func/Makefile b/make/cmd/win32/symantec/ta_func/Makefile new file mode 100644 index 000000000..914fcf13b --- /dev/null +++ b/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/make/cmd/win32/symantec/ta_libc/Makefile b/make/cmd/win32/symantec/ta_libc/Makefile new file mode 100644 index 000000000..2b7d5ed8a --- /dev/null +++ b/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/make/cmd/win32/symantec/ta_regtest/Makefile b/make/cmd/win32/symantec/ta_regtest/Makefile new file mode 100644 index 000000000..7afc32119 --- /dev/null +++ b/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/make/cmd/win32/watcom/Makefile b/make/cmd/win32/watcom/Makefile new file mode 100644 index 000000000..db16ae002 --- /dev/null +++ b/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/make/cmd/win32/watcom/gen_code/Makefile b/make/cmd/win32/watcom/gen_code/Makefile new file mode 100644 index 000000000..ef93d9037 --- /dev/null +++ b/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/make/cmd/win32/watcom/ta_abstract/Makefile b/make/cmd/win32/watcom/ta_abstract/Makefile new file mode 100644 index 000000000..1afdaf65b --- /dev/null +++ b/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/make/cmd/win32/watcom/ta_common/Makefile b/make/cmd/win32/watcom/ta_common/Makefile new file mode 100644 index 000000000..4912e74d0 --- /dev/null +++ b/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/make/cmd/win32/watcom/ta_func/Makefile b/make/cmd/win32/watcom/ta_func/Makefile new file mode 100644 index 000000000..a0b7c1cd1 --- /dev/null +++ b/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/make/cmd/win32/watcom/ta_libc/Makefile b/make/cmd/win32/watcom/ta_libc/Makefile new file mode 100644 index 000000000..ad2622ff2 --- /dev/null +++ b/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/make/cmd/win32/watcom/ta_regtest/Makefile b/make/cmd/win32/watcom/ta_regtest/Makefile new file mode 100644 index 000000000..5e6a711b3 --- /dev/null +++ b/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/make/cmp/cygwin/g++/Makefile b/make/cmp/cygwin/g++/Makefile new file mode 100644 index 000000000..9558d601a --- /dev/null +++ b/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/make/cmp/cygwin/g++/gen_code/Makefile b/make/cmp/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..df00266a8 --- /dev/null +++ b/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/make/cmp/cygwin/g++/ta_abstract/Makefile b/make/cmp/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..356d78c42 --- /dev/null +++ b/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/make/cmp/cygwin/g++/ta_common/Makefile b/make/cmp/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..88cb61731 --- /dev/null +++ b/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/make/cmp/cygwin/g++/ta_func/Makefile b/make/cmp/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..ab8bb19b7 --- /dev/null +++ b/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/make/cmp/cygwin/g++/ta_libc/Makefile b/make/cmp/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..602479d12 --- /dev/null +++ b/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/make/cmp/cygwin/g++/ta_regtest/Makefile b/make/cmp/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..af06290aa --- /dev/null +++ b/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/make/cmp/freebsd/g++/Makefile b/make/cmp/freebsd/g++/Makefile new file mode 100644 index 000000000..6864460b4 --- /dev/null +++ b/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/make/cmp/freebsd/g++/gen_code/Makefile b/make/cmp/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..91ec0d272 --- /dev/null +++ b/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/make/cmp/freebsd/g++/ta_abstract/Makefile b/make/cmp/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..b87951a55 --- /dev/null +++ b/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/make/cmp/freebsd/g++/ta_common/Makefile b/make/cmp/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..bfdc7f655 --- /dev/null +++ b/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/make/cmp/freebsd/g++/ta_func/Makefile b/make/cmp/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..1d5a860c5 --- /dev/null +++ b/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/make/cmp/freebsd/g++/ta_libc/Makefile b/make/cmp/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..30b85bd0b --- /dev/null +++ b/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/make/cmp/freebsd/g++/ta_regtest/Makefile b/make/cmp/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..48987d0bd --- /dev/null +++ b/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/make/cmp/linux/g++/Makefile b/make/cmp/linux/g++/Makefile new file mode 100644 index 000000000..ca83b3eaa --- /dev/null +++ b/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/make/cmp/linux/g++/gen_code/Makefile b/make/cmp/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..07e1920f1 --- /dev/null +++ b/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/make/cmp/linux/g++/ta_abstract/Makefile b/make/cmp/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..3d7e6e070 --- /dev/null +++ b/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/make/cmp/linux/g++/ta_common/Makefile b/make/cmp/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..662f38fb8 --- /dev/null +++ b/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/make/cmp/linux/g++/ta_func/Makefile b/make/cmp/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..f617553e5 --- /dev/null +++ b/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/make/cmp/linux/g++/ta_libc/Makefile b/make/cmp/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..7e8e6067c --- /dev/null +++ b/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/make/cmp/linux/g++/ta_regtest/Makefile b/make/cmp/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..f34822691 --- /dev/null +++ b/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/make/cmr/cygwin/g++/Makefile b/make/cmr/cygwin/g++/Makefile new file mode 100644 index 000000000..a5a593aab --- /dev/null +++ b/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/make/cmr/cygwin/g++/gen_code/Makefile b/make/cmr/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..ebf1a595a --- /dev/null +++ b/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/make/cmr/cygwin/g++/ta_abstract/Makefile b/make/cmr/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..6f86f551e --- /dev/null +++ b/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/make/cmr/cygwin/g++/ta_common/Makefile b/make/cmr/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..2496a73bd --- /dev/null +++ b/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/make/cmr/cygwin/g++/ta_func/Makefile b/make/cmr/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..f099b8d0c --- /dev/null +++ b/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/make/cmr/cygwin/g++/ta_libc/Makefile b/make/cmr/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..23cb84313 --- /dev/null +++ b/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/make/cmr/cygwin/g++/ta_regtest/Makefile b/make/cmr/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..999bc389f --- /dev/null +++ b/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/make/cmr/freebsd/g++/Makefile b/make/cmr/freebsd/g++/Makefile new file mode 100644 index 000000000..ddcdf3e56 --- /dev/null +++ b/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/make/cmr/freebsd/g++/gen_code/Makefile b/make/cmr/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..b9ea816b4 --- /dev/null +++ b/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/make/cmr/freebsd/g++/ta_abstract/Makefile b/make/cmr/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..d8f939c60 --- /dev/null +++ b/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/make/cmr/freebsd/g++/ta_common/Makefile b/make/cmr/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..011fa4083 --- /dev/null +++ b/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/make/cmr/freebsd/g++/ta_func/Makefile b/make/cmr/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..e19fde184 --- /dev/null +++ b/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/make/cmr/freebsd/g++/ta_libc/Makefile b/make/cmr/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..4fbc28e0e --- /dev/null +++ b/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/make/cmr/freebsd/g++/ta_regtest/Makefile b/make/cmr/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..3b4839d53 --- /dev/null +++ b/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/make/cmr/linux/g++/Makefile b/make/cmr/linux/g++/Makefile new file mode 100644 index 000000000..87e0baf4c --- /dev/null +++ b/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/make/cmr/linux/g++/gen_code/Makefile b/make/cmr/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..d8e9f5837 --- /dev/null +++ b/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/make/cmr/linux/g++/ta_abstract/Makefile b/make/cmr/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..faeec4cc9 --- /dev/null +++ b/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/make/cmr/linux/g++/ta_common/Makefile b/make/cmr/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..391083660 --- /dev/null +++ b/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/make/cmr/linux/g++/ta_func/Makefile b/make/cmr/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..310ff283d --- /dev/null +++ b/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/make/cmr/linux/g++/ta_libc/Makefile b/make/cmr/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..f123c7513 --- /dev/null +++ b/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/make/cmr/linux/g++/ta_regtest/Makefile b/make/cmr/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..2c253342c --- /dev/null +++ b/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/make/cmr/win32/borland/Makefile b/make/cmr/win32/borland/Makefile new file mode 100644 index 000000000..f70a23db9 --- /dev/null +++ b/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/make/cmr/win32/borland/gen_code/Makefile b/make/cmr/win32/borland/gen_code/Makefile new file mode 100644 index 000000000..7d4dc5e12 --- /dev/null +++ b/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/make/cmr/win32/borland/ta_abstract/Makefile b/make/cmr/win32/borland/ta_abstract/Makefile new file mode 100644 index 000000000..d1a934f96 --- /dev/null +++ b/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/make/cmr/win32/borland/ta_common/Makefile b/make/cmr/win32/borland/ta_common/Makefile new file mode 100644 index 000000000..a49dbda7c --- /dev/null +++ b/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/make/cmr/win32/borland/ta_func/Makefile b/make/cmr/win32/borland/ta_func/Makefile new file mode 100644 index 000000000..9b7a0a81f --- /dev/null +++ b/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/make/cmr/win32/borland/ta_libc/Makefile b/make/cmr/win32/borland/ta_libc/Makefile new file mode 100644 index 000000000..12671d842 --- /dev/null +++ b/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/make/cmr/win32/borland/ta_regtest/Makefile b/make/cmr/win32/borland/ta_regtest/Makefile new file mode 100644 index 000000000..48e615c93 --- /dev/null +++ b/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/make/cmr/win32/msvc/Makefile b/make/cmr/win32/msvc/Makefile new file mode 100644 index 000000000..22e8b666a --- /dev/null +++ b/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/make/cmr/win32/msvc/gen_code/Makefile b/make/cmr/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..0cc426d52 --- /dev/null +++ b/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/make/cmr/win32/msvc/ta_abstract/Makefile b/make/cmr/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..a4ef22b6f --- /dev/null +++ b/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/make/cmr/win32/msvc/ta_common/Makefile b/make/cmr/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..c51a47886 --- /dev/null +++ b/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/make/cmr/win32/msvc/ta_func/Makefile b/make/cmr/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..13fbb1175 --- /dev/null +++ b/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/make/cmr/win32/msvc/ta_libc/Makefile b/make/cmr/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..09d07a78d --- /dev/null +++ b/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/make/cmr/win32/msvc/ta_regtest/Makefile b/make/cmr/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..4ec443d17 --- /dev/null +++ b/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/make/cmr/win32/symantec/Makefile b/make/cmr/win32/symantec/Makefile new file mode 100644 index 000000000..e66c217dc --- /dev/null +++ b/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/make/cmr/win32/symantec/gen_code/Makefile b/make/cmr/win32/symantec/gen_code/Makefile new file mode 100644 index 000000000..94c48713d --- /dev/null +++ b/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/make/cmr/win32/symantec/ta_abstract/Makefile b/make/cmr/win32/symantec/ta_abstract/Makefile new file mode 100644 index 000000000..f5f5692aa --- /dev/null +++ b/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/make/cmr/win32/symantec/ta_common/Makefile b/make/cmr/win32/symantec/ta_common/Makefile new file mode 100644 index 000000000..1dbbb8e62 --- /dev/null +++ b/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/make/cmr/win32/symantec/ta_func/Makefile b/make/cmr/win32/symantec/ta_func/Makefile new file mode 100644 index 000000000..b7030d07b --- /dev/null +++ b/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/make/cmr/win32/symantec/ta_libc/Makefile b/make/cmr/win32/symantec/ta_libc/Makefile new file mode 100644 index 000000000..0e679949a --- /dev/null +++ b/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/make/cmr/win32/symantec/ta_regtest/Makefile b/make/cmr/win32/symantec/ta_regtest/Makefile new file mode 100644 index 000000000..1efb1416a --- /dev/null +++ b/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/make/cmr/win32/watcom/Makefile b/make/cmr/win32/watcom/Makefile new file mode 100644 index 000000000..8bc58ca8b --- /dev/null +++ b/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/make/cmr/win32/watcom/gen_code/Makefile b/make/cmr/win32/watcom/gen_code/Makefile new file mode 100644 index 000000000..168e7a797 --- /dev/null +++ b/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/make/cmr/win32/watcom/ta_abstract/Makefile b/make/cmr/win32/watcom/ta_abstract/Makefile new file mode 100644 index 000000000..272497a29 --- /dev/null +++ b/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/make/cmr/win32/watcom/ta_common/Makefile b/make/cmr/win32/watcom/ta_common/Makefile new file mode 100644 index 000000000..6e3dfa16f --- /dev/null +++ b/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/make/cmr/win32/watcom/ta_func/Makefile b/make/cmr/win32/watcom/ta_func/Makefile new file mode 100644 index 000000000..b364f9887 --- /dev/null +++ b/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/make/cmr/win32/watcom/ta_libc/Makefile b/make/cmr/win32/watcom/ta_libc/Makefile new file mode 100644 index 000000000..00c2e6873 --- /dev/null +++ b/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/make/cmr/win32/watcom/ta_regtest/Makefile b/make/cmr/win32/watcom/ta_regtest/Makefile new file mode 100644 index 000000000..f2e488d15 --- /dev/null +++ b/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/make/csd/cygwin/g++/Makefile b/make/csd/cygwin/g++/Makefile new file mode 100644 index 000000000..b59a6f4f7 --- /dev/null +++ b/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/make/csd/cygwin/g++/gen_code/Makefile b/make/csd/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..7b418e3d5 --- /dev/null +++ b/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/make/csd/cygwin/g++/ta_abstract/Makefile b/make/csd/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..27f5e69a4 --- /dev/null +++ b/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/make/csd/cygwin/g++/ta_common/Makefile b/make/csd/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..44013cfdb --- /dev/null +++ b/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/make/csd/cygwin/g++/ta_func/Makefile b/make/csd/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..7740c1a6c --- /dev/null +++ b/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/make/csd/cygwin/g++/ta_libc/Makefile b/make/csd/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..12e20364a --- /dev/null +++ b/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/make/csd/cygwin/g++/ta_regtest/Makefile b/make/csd/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..7f59ebf68 --- /dev/null +++ b/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/make/csd/freebsd/g++/Makefile b/make/csd/freebsd/g++/Makefile new file mode 100644 index 000000000..d07b6c51d --- /dev/null +++ b/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/make/csd/freebsd/g++/gen_code/Makefile b/make/csd/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..d21be7c60 --- /dev/null +++ b/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/make/csd/freebsd/g++/ta_abstract/Makefile b/make/csd/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..926157df2 --- /dev/null +++ b/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/make/csd/freebsd/g++/ta_common/Makefile b/make/csd/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..334e85080 --- /dev/null +++ b/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/make/csd/freebsd/g++/ta_func/Makefile b/make/csd/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..1aae53b6d --- /dev/null +++ b/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/make/csd/freebsd/g++/ta_libc/Makefile b/make/csd/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..d191f2cd6 --- /dev/null +++ b/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/make/csd/freebsd/g++/ta_regtest/Makefile b/make/csd/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..c3d45acbc --- /dev/null +++ b/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/make/csd/linux/g++/Makefile b/make/csd/linux/g++/Makefile new file mode 100644 index 000000000..5e7342c2d --- /dev/null +++ b/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/make/csd/linux/g++/gen_code/Makefile b/make/csd/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..a2637e4cd --- /dev/null +++ b/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/make/csd/linux/g++/ta_abstract/Makefile b/make/csd/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..35a7b3cc3 --- /dev/null +++ b/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/make/csd/linux/g++/ta_common/Makefile b/make/csd/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..3e40842f8 --- /dev/null +++ b/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/make/csd/linux/g++/ta_func/Makefile b/make/csd/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..121bbaf3b --- /dev/null +++ b/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/make/csd/linux/g++/ta_libc/Makefile b/make/csd/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..bbd1c7ac5 --- /dev/null +++ b/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/make/csd/linux/g++/ta_regtest/Makefile b/make/csd/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..82e0206fd --- /dev/null +++ b/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/make/csd/win32/borland/Makefile b/make/csd/win32/borland/Makefile new file mode 100644 index 000000000..fa715e18e --- /dev/null +++ b/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/make/csd/win32/borland/gen_code/Makefile b/make/csd/win32/borland/gen_code/Makefile new file mode 100644 index 000000000..dc1180161 --- /dev/null +++ b/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/make/csd/win32/borland/ta_abstract/Makefile b/make/csd/win32/borland/ta_abstract/Makefile new file mode 100644 index 000000000..c3e97ac6f --- /dev/null +++ b/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/make/csd/win32/borland/ta_common/Makefile b/make/csd/win32/borland/ta_common/Makefile new file mode 100644 index 000000000..e47f49804 --- /dev/null +++ b/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/make/csd/win32/borland/ta_func/Makefile b/make/csd/win32/borland/ta_func/Makefile new file mode 100644 index 000000000..291bbefe9 --- /dev/null +++ b/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/make/csd/win32/borland/ta_libc/Makefile b/make/csd/win32/borland/ta_libc/Makefile new file mode 100644 index 000000000..8c9206ba7 --- /dev/null +++ b/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/make/csd/win32/borland/ta_regtest/Makefile b/make/csd/win32/borland/ta_regtest/Makefile new file mode 100644 index 000000000..8c11ffc83 --- /dev/null +++ b/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/make/csd/win32/msvc/Makefile b/make/csd/win32/msvc/Makefile new file mode 100644 index 000000000..4f6b9db08 --- /dev/null +++ b/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/make/csd/win32/msvc/gen_code/Makefile b/make/csd/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..eb7078910 --- /dev/null +++ b/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/make/csd/win32/msvc/ta_abstract/Makefile b/make/csd/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..b9b6f89ac --- /dev/null +++ b/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/make/csd/win32/msvc/ta_common/Makefile b/make/csd/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..7ecf1d635 --- /dev/null +++ b/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/make/csd/win32/msvc/ta_func/Makefile b/make/csd/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..50cbfd938 --- /dev/null +++ b/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/make/csd/win32/msvc/ta_libc/Makefile b/make/csd/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..63711ea20 --- /dev/null +++ b/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/make/csd/win32/msvc/ta_regtest/Makefile b/make/csd/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..e3c410530 --- /dev/null +++ b/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/make/csd/win32/symantec/Makefile b/make/csd/win32/symantec/Makefile new file mode 100644 index 000000000..7551bc4f7 --- /dev/null +++ b/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/make/csd/win32/symantec/gen_code/Makefile b/make/csd/win32/symantec/gen_code/Makefile new file mode 100644 index 000000000..efd6da26f --- /dev/null +++ b/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/make/csd/win32/symantec/ta_abstract/Makefile b/make/csd/win32/symantec/ta_abstract/Makefile new file mode 100644 index 000000000..bc143fcc9 --- /dev/null +++ b/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/make/csd/win32/symantec/ta_common/Makefile b/make/csd/win32/symantec/ta_common/Makefile new file mode 100644 index 000000000..8d6b37e85 --- /dev/null +++ b/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/make/csd/win32/symantec/ta_func/Makefile b/make/csd/win32/symantec/ta_func/Makefile new file mode 100644 index 000000000..657e82a29 --- /dev/null +++ b/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/make/csd/win32/symantec/ta_libc/Makefile b/make/csd/win32/symantec/ta_libc/Makefile new file mode 100644 index 000000000..47be13581 --- /dev/null +++ b/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/make/csd/win32/symantec/ta_regtest/Makefile b/make/csd/win32/symantec/ta_regtest/Makefile new file mode 100644 index 000000000..2a1b06da0 --- /dev/null +++ b/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/make/csd/win32/watcom/Makefile b/make/csd/win32/watcom/Makefile new file mode 100644 index 000000000..37e08bee6 --- /dev/null +++ b/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/make/csd/win32/watcom/gen_code/Makefile b/make/csd/win32/watcom/gen_code/Makefile new file mode 100644 index 000000000..16a31235f --- /dev/null +++ b/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/make/csd/win32/watcom/ta_abstract/Makefile b/make/csd/win32/watcom/ta_abstract/Makefile new file mode 100644 index 000000000..a69ee4899 --- /dev/null +++ b/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/make/csd/win32/watcom/ta_common/Makefile b/make/csd/win32/watcom/ta_common/Makefile new file mode 100644 index 000000000..0e5215101 --- /dev/null +++ b/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/make/csd/win32/watcom/ta_func/Makefile b/make/csd/win32/watcom/ta_func/Makefile new file mode 100644 index 000000000..219e26149 --- /dev/null +++ b/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/make/csd/win32/watcom/ta_libc/Makefile b/make/csd/win32/watcom/ta_libc/Makefile new file mode 100644 index 000000000..df2a44259 --- /dev/null +++ b/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/make/csd/win32/watcom/ta_regtest/Makefile b/make/csd/win32/watcom/ta_regtest/Makefile new file mode 100644 index 000000000..d99a25d97 --- /dev/null +++ b/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/make/csp/cygwin/g++/Makefile b/make/csp/cygwin/g++/Makefile new file mode 100644 index 000000000..dfb351cad --- /dev/null +++ b/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/make/csp/cygwin/g++/gen_code/Makefile b/make/csp/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..b627d3c40 --- /dev/null +++ b/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/make/csp/cygwin/g++/ta_abstract/Makefile b/make/csp/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..123645311 --- /dev/null +++ b/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/make/csp/cygwin/g++/ta_common/Makefile b/make/csp/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..0b611daf3 --- /dev/null +++ b/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/make/csp/cygwin/g++/ta_func/Makefile b/make/csp/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..26eada8e7 --- /dev/null +++ b/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/make/csp/cygwin/g++/ta_libc/Makefile b/make/csp/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..ec8d7d390 --- /dev/null +++ b/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/make/csp/cygwin/g++/ta_regtest/Makefile b/make/csp/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..7878c6e95 --- /dev/null +++ b/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/make/csp/freebsd/g++/Makefile b/make/csp/freebsd/g++/Makefile new file mode 100644 index 000000000..254f26ea7 --- /dev/null +++ b/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/make/csp/freebsd/g++/gen_code/Makefile b/make/csp/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..fe121e0e4 --- /dev/null +++ b/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/make/csp/freebsd/g++/ta_abstract/Makefile b/make/csp/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..c695b83f6 --- /dev/null +++ b/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/make/csp/freebsd/g++/ta_common/Makefile b/make/csp/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..93e198962 --- /dev/null +++ b/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/make/csp/freebsd/g++/ta_func/Makefile b/make/csp/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..342fd4bab --- /dev/null +++ b/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/make/csp/freebsd/g++/ta_libc/Makefile b/make/csp/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..076a6b1de --- /dev/null +++ b/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/make/csp/freebsd/g++/ta_regtest/Makefile b/make/csp/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..1c75921d5 --- /dev/null +++ b/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/make/csp/linux/g++/Makefile b/make/csp/linux/g++/Makefile new file mode 100644 index 000000000..1d8de8a6b --- /dev/null +++ b/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/make/csp/linux/g++/gen_code/Makefile b/make/csp/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..58d298f7c --- /dev/null +++ b/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/make/csp/linux/g++/ta_abstract/Makefile b/make/csp/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..17c50dfd6 --- /dev/null +++ b/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/make/csp/linux/g++/ta_common/Makefile b/make/csp/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..d4c55f13b --- /dev/null +++ b/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/make/csp/linux/g++/ta_func/Makefile b/make/csp/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..fd318a2c4 --- /dev/null +++ b/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/make/csp/linux/g++/ta_libc/Makefile b/make/csp/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..2dc87138c --- /dev/null +++ b/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/make/csp/linux/g++/ta_regtest/Makefile b/make/csp/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..cb8b2fa78 --- /dev/null +++ b/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/make/csr/cygwin/g++/Makefile b/make/csr/cygwin/g++/Makefile new file mode 100644 index 000000000..2f005e756 --- /dev/null +++ b/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/make/csr/cygwin/g++/gen_code/Makefile b/make/csr/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..e265d7c42 --- /dev/null +++ b/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/make/csr/cygwin/g++/ta_abstract/Makefile b/make/csr/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..9811ba791 --- /dev/null +++ b/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/make/csr/cygwin/g++/ta_common/Makefile b/make/csr/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..6b0530957 --- /dev/null +++ b/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/make/csr/cygwin/g++/ta_func/Makefile b/make/csr/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..e9aec79fc --- /dev/null +++ b/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/make/csr/cygwin/g++/ta_libc/Makefile b/make/csr/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..3fbe5d2dd --- /dev/null +++ b/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/make/csr/cygwin/g++/ta_regtest/Makefile b/make/csr/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..3692683d9 --- /dev/null +++ b/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/make/csr/freebsd/g++/Makefile b/make/csr/freebsd/g++/Makefile new file mode 100644 index 000000000..b07e03f6a --- /dev/null +++ b/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/make/csr/freebsd/g++/gen_code/Makefile b/make/csr/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..2147ff430 --- /dev/null +++ b/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/make/csr/freebsd/g++/ta_abstract/Makefile b/make/csr/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..c8639ab3a --- /dev/null +++ b/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/make/csr/freebsd/g++/ta_common/Makefile b/make/csr/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..06ffa5e3a --- /dev/null +++ b/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/make/csr/freebsd/g++/ta_func/Makefile b/make/csr/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..1b9e927da --- /dev/null +++ b/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/make/csr/freebsd/g++/ta_libc/Makefile b/make/csr/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..84c8a4675 --- /dev/null +++ b/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/make/csr/freebsd/g++/ta_regtest/Makefile b/make/csr/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..8a3b7e6d1 --- /dev/null +++ b/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/make/csr/linux/g++/Makefile b/make/csr/linux/g++/Makefile new file mode 100644 index 000000000..804e39863 --- /dev/null +++ b/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/make/csr/linux/g++/gen_code/Makefile b/make/csr/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..30b2afe75 --- /dev/null +++ b/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/make/csr/linux/g++/ta_abstract/Makefile b/make/csr/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..600520d85 --- /dev/null +++ b/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/make/csr/linux/g++/ta_common/Makefile b/make/csr/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..6331d59cc --- /dev/null +++ b/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/make/csr/linux/g++/ta_func/Makefile b/make/csr/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..b9f561190 --- /dev/null +++ b/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/make/csr/linux/g++/ta_libc/Makefile b/make/csr/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..1502507c2 --- /dev/null +++ b/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/make/csr/linux/g++/ta_regtest/Makefile b/make/csr/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..baf90a98d --- /dev/null +++ b/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/make/csr/win32/borland/Makefile b/make/csr/win32/borland/Makefile new file mode 100644 index 000000000..cdfddc170 --- /dev/null +++ b/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/make/csr/win32/borland/gen_code/Makefile b/make/csr/win32/borland/gen_code/Makefile new file mode 100644 index 000000000..92aeb3f5c --- /dev/null +++ b/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/make/csr/win32/borland/ta_abstract/Makefile b/make/csr/win32/borland/ta_abstract/Makefile new file mode 100644 index 000000000..790d99bb5 --- /dev/null +++ b/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/make/csr/win32/borland/ta_common/Makefile b/make/csr/win32/borland/ta_common/Makefile new file mode 100644 index 000000000..7bad43bdc --- /dev/null +++ b/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/make/csr/win32/borland/ta_func/Makefile b/make/csr/win32/borland/ta_func/Makefile new file mode 100644 index 000000000..371c38a5d --- /dev/null +++ b/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/make/csr/win32/borland/ta_libc/Makefile b/make/csr/win32/borland/ta_libc/Makefile new file mode 100644 index 000000000..bd4418ff8 --- /dev/null +++ b/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/make/csr/win32/borland/ta_regtest/Makefile b/make/csr/win32/borland/ta_regtest/Makefile new file mode 100644 index 000000000..d9c8b5140 --- /dev/null +++ b/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/make/csr/win32/msvc/Makefile b/make/csr/win32/msvc/Makefile new file mode 100644 index 000000000..1297e37f5 --- /dev/null +++ b/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/make/csr/win32/msvc/gen_code/Makefile b/make/csr/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..3d27d82a6 --- /dev/null +++ b/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/make/csr/win32/msvc/ta_abstract/Makefile b/make/csr/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..85707e823 --- /dev/null +++ b/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/make/csr/win32/msvc/ta_common/Makefile b/make/csr/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..70a8b3524 --- /dev/null +++ b/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/make/csr/win32/msvc/ta_func/Makefile b/make/csr/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..237c33809 --- /dev/null +++ b/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/make/csr/win32/msvc/ta_libc/Makefile b/make/csr/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..847600882 --- /dev/null +++ b/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/make/csr/win32/msvc/ta_regtest/Makefile b/make/csr/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..7a6a3a807 --- /dev/null +++ b/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/make/csr/win32/symantec/Makefile b/make/csr/win32/symantec/Makefile new file mode 100644 index 000000000..822ae48c4 --- /dev/null +++ b/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/make/csr/win32/symantec/gen_code/Makefile b/make/csr/win32/symantec/gen_code/Makefile new file mode 100644 index 000000000..f5089cc63 --- /dev/null +++ b/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/make/csr/win32/symantec/ta_abstract/Makefile b/make/csr/win32/symantec/ta_abstract/Makefile new file mode 100644 index 000000000..947c811ba --- /dev/null +++ b/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/make/csr/win32/symantec/ta_common/Makefile b/make/csr/win32/symantec/ta_common/Makefile new file mode 100644 index 000000000..79f968764 --- /dev/null +++ b/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/make/csr/win32/symantec/ta_func/Makefile b/make/csr/win32/symantec/ta_func/Makefile new file mode 100644 index 000000000..4017cb453 --- /dev/null +++ b/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/make/csr/win32/symantec/ta_libc/Makefile b/make/csr/win32/symantec/ta_libc/Makefile new file mode 100644 index 000000000..35748c75b --- /dev/null +++ b/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/make/csr/win32/symantec/ta_regtest/Makefile b/make/csr/win32/symantec/ta_regtest/Makefile new file mode 100644 index 000000000..25843aa98 --- /dev/null +++ b/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/make/csr/win32/watcom/Makefile b/make/csr/win32/watcom/Makefile new file mode 100644 index 000000000..ac903e446 --- /dev/null +++ b/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/make/csr/win32/watcom/gen_code/Makefile b/make/csr/win32/watcom/gen_code/Makefile new file mode 100644 index 000000000..c51baf2c2 --- /dev/null +++ b/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/make/csr/win32/watcom/ta_abstract/Makefile b/make/csr/win32/watcom/ta_abstract/Makefile new file mode 100644 index 000000000..5a595900a --- /dev/null +++ b/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/make/csr/win32/watcom/ta_common/Makefile b/make/csr/win32/watcom/ta_common/Makefile new file mode 100644 index 000000000..18e767551 --- /dev/null +++ b/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/make/csr/win32/watcom/ta_func/Makefile b/make/csr/win32/watcom/ta_func/Makefile new file mode 100644 index 000000000..80892e70c --- /dev/null +++ b/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/make/csr/win32/watcom/ta_libc/Makefile b/make/csr/win32/watcom/ta_libc/Makefile new file mode 100644 index 000000000..83f65853a --- /dev/null +++ b/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/make/csr/win32/watcom/ta_regtest/Makefile b/make/csr/win32/watcom/ta_regtest/Makefile new file mode 100644 index 000000000..7791c46e2 --- /dev/null +++ b/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/make/gen_make/README.TXT b/make/gen_make/README.TXT new file mode 100644 index 000000000..70e375f95 --- /dev/null +++ b/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/make/gen_make/gen_code/gen_code.pro b/make/gen_make/gen_code/gen_code.pro new file mode 100644 index 000000000..5b56cc24f --- /dev/null +++ b/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/make/gen_make/gen_make.pl b/make/gen_make/gen_make.pl new file mode 100644 index 000000000..a26d855b3 --- /dev/null +++ b/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/make/gen_make/make_make.pl b/make/gen_make/make_make.pl new file mode 100644 index 000000000..94748538f --- /dev/null +++ b/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/make/gen_make/rootmake.pro b/make/gen_make/rootmake.pro new file mode 100644 index 000000000..6f9411025 --- /dev/null +++ b/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/make/gen_make/ta_abstract/make_pro.pl b/make/gen_make/ta_abstract/make_pro.pl new file mode 100644 index 000000000..f317b9837 --- /dev/null +++ b/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/make/gen_make/ta_abstract/ta_abstract.pro b/make/gen_make/ta_abstract/ta_abstract.pro new file mode 100644 index 000000000..260c0f007 --- /dev/null +++ b/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/make/gen_make/ta_common/ta_common.pro b/make/gen_make/ta_common/ta_common.pro new file mode 100644 index 000000000..1f57582be --- /dev/null +++ b/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/make/gen_make/ta_func/make_pro.pl b/make/gen_make/ta_func/make_pro.pl new file mode 100644 index 000000000..4ec5375d0 --- /dev/null +++ b/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/make/gen_make/ta_func/ta_func.pro b/make/gen_make/ta_func/ta_func.pro new file mode 100644 index 000000000..4080f43a5 --- /dev/null +++ b/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/make/gen_make/ta_libc/make_pro.pl b/make/gen_make/ta_libc/make_pro.pl new file mode 100644 index 000000000..71e9e5c0f --- /dev/null +++ b/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/make/gen_make/ta_libc/ta_libc.pro b/make/gen_make/ta_libc/ta_libc.pro new file mode 100644 index 000000000..9eebaf81b --- /dev/null +++ b/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/make/gen_make/ta_regtest/ta_regtest.pro b/make/gen_make/ta_regtest/ta_regtest.pro new file mode 100644 index 000000000..bf7d8b11e --- /dev/null +++ b/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/make/gen_make/template/cygwin-g++/app.t b/make/gen_make/template/cygwin-g++/app.t new file mode 100644 index 000000000..867725eaa --- /dev/null +++ b/make/gen_make/template/cygwin-g++/app.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/app.t"); diff --git a/make/gen_make/template/cygwin-g++/lib.t b/make/gen_make/template/cygwin-g++/lib.t new file mode 100644 index 000000000..2523b2f85 --- /dev/null +++ b/make/gen_make/template/cygwin-g++/lib.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/lib.t"); diff --git a/make/gen_make/template/cygwin-g++/subdirs.t b/make/gen_make/template/cygwin-g++/subdirs.t new file mode 100644 index 000000000..5e888af05 --- /dev/null +++ b/make/gen_make/template/cygwin-g++/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/subdirs.t"); diff --git a/make/gen_make/template/cygwin-g++/tmake.conf b/make/gen_make/template/cygwin-g++/tmake.conf new file mode 100644 index 000000000..857634755 --- /dev/null +++ b/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/make/gen_make/template/freebsd-g++/app.t b/make/gen_make/template/freebsd-g++/app.t new file mode 100644 index 000000000..f59c9f904 --- /dev/null +++ b/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/make/gen_make/template/freebsd-g++/generic.t b/make/gen_make/template/freebsd-g++/generic.t new file mode 100644 index 000000000..a4a697841 --- /dev/null +++ b/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/make/gen_make/template/freebsd-g++/lib.t b/make/gen_make/template/freebsd-g++/lib.t new file mode 100644 index 000000000..2523b2f85 --- /dev/null +++ b/make/gen_make/template/freebsd-g++/lib.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/lib.t"); diff --git a/make/gen_make/template/freebsd-g++/subdirs.t b/make/gen_make/template/freebsd-g++/subdirs.t new file mode 100644 index 000000000..5e888af05 --- /dev/null +++ b/make/gen_make/template/freebsd-g++/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/subdirs.t"); diff --git a/make/gen_make/template/freebsd-g++/tmake.conf b/make/gen_make/template/freebsd-g++/tmake.conf new file mode 100644 index 000000000..c9ff0f953 --- /dev/null +++ b/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/make/gen_make/template/linux-g++/app.t b/make/gen_make/template/linux-g++/app.t new file mode 100644 index 000000000..867725eaa --- /dev/null +++ b/make/gen_make/template/linux-g++/app.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/app.t"); diff --git a/make/gen_make/template/linux-g++/lib.t b/make/gen_make/template/linux-g++/lib.t new file mode 100644 index 000000000..2523b2f85 --- /dev/null +++ b/make/gen_make/template/linux-g++/lib.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/lib.t"); diff --git a/make/gen_make/template/linux-g++/subdirs.t b/make/gen_make/template/linux-g++/subdirs.t new file mode 100644 index 000000000..5e888af05 --- /dev/null +++ b/make/gen_make/template/linux-g++/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/subdirs.t"); diff --git a/make/gen_make/template/linux-g++/tmake.conf b/make/gen_make/template/linux-g++/tmake.conf new file mode 100644 index 000000000..14b94b24c --- /dev/null +++ b/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/make/gen_make/template/unix/app.t b/make/gen_make/template/unix/app.t new file mode 100644 index 000000000..f59c9f904 --- /dev/null +++ b/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/make/gen_make/template/unix/generic.t b/make/gen_make/template/unix/generic.t new file mode 100644 index 000000000..d44aae736 --- /dev/null +++ b/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/make/gen_make/template/unix/lib.t b/make/gen_make/template/unix/lib.t new file mode 100644 index 000000000..dd24c63c1 --- /dev/null +++ b/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/make/gen_make/template/unix/subdirs.t b/make/gen_make/template/unix/subdirs.t new file mode 100644 index 000000000..4f947a04d --- /dev/null +++ b/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/make/gen_make/template/win32-borland/app.t b/make/gen_make/template/win32-borland/app.t new file mode 100644 index 000000000..fc4dc2c79 --- /dev/null +++ b/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/make/gen_make/template/win32-borland/generic.t b/make/gen_make/template/win32-borland/generic.t new file mode 100644 index 000000000..788f3bbf6 --- /dev/null +++ b/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/make/gen_make/template/win32-borland/lib.t b/make/gen_make/template/win32-borland/lib.t new file mode 100644 index 000000000..d8ac6c7a7 --- /dev/null +++ b/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/make/gen_make/template/win32-borland/subdirs.t b/make/gen_make/template/win32-borland/subdirs.t new file mode 100644 index 000000000..f08e41f76 --- /dev/null +++ b/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/make/gen_make/template/win32-borland/tmake.conf b/make/gen_make/template/win32-borland/tmake.conf new file mode 100644 index 000000000..90ac2414f --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/app.t b/make/gen_make/template/win32-msvc/app.t new file mode 100644 index 000000000..fc4dc2c79 --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/generic.t b/make/gen_make/template/win32-msvc/generic.t new file mode 100644 index 000000000..1d6a6f424 --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/lib.t b/make/gen_make/template/win32-msvc/lib.t new file mode 100644 index 000000000..d8ac6c7a7 --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/subdirs.t b/make/gen_make/template/win32-msvc/subdirs.t new file mode 100644 index 000000000..247fb4bfc --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/tmake.conf b/make/gen_make/template/win32-msvc/tmake.conf new file mode 100644 index 000000000..552f0cea0 --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/vcapp.t b/make/gen_make/template/win32-msvc/vcapp.t new file mode 100644 index 000000000..4bfdcaf9c --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/vcgeneric.t b/make/gen_make/template/win32-msvc/vcgeneric.t new file mode 100644 index 000000000..ea0819b42 --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/vclib.t b/make/gen_make/template/win32-msvc/vclib.t new file mode 100644 index 000000000..6ce04c9eb --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/win32app.dsp b/make/gen_make/template/win32-msvc/win32app.dsp new file mode 100644 index 000000000..d2f2cd1f8 --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/win32dll.dsp b/make/gen_make/template/win32-msvc/win32dll.dsp new file mode 100644 index 000000000..87f390b86 --- /dev/null +++ b/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/make/gen_make/template/win32-msvc/win32lib.dsp b/make/gen_make/template/win32-msvc/win32lib.dsp new file mode 100644 index 000000000..a97617dfe --- /dev/null +++ b/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/make/gen_make/template/win32-symantec/app.t b/make/gen_make/template/win32-symantec/app.t new file mode 100644 index 000000000..fc4dc2c79 --- /dev/null +++ b/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/make/gen_make/template/win32-symantec/generic.t b/make/gen_make/template/win32-symantec/generic.t new file mode 100644 index 000000000..318047303 --- /dev/null +++ b/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/make/gen_make/template/win32-symantec/lib.t b/make/gen_make/template/win32-symantec/lib.t new file mode 100644 index 000000000..d8ac6c7a7 --- /dev/null +++ b/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/make/gen_make/template/win32-symantec/subdirs.t b/make/gen_make/template/win32-symantec/subdirs.t new file mode 100644 index 000000000..8b881ab55 --- /dev/null +++ b/make/gen_make/template/win32-symantec/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Win32 template +#$ IncludeTemplate("../win32/subdirs.t"); diff --git a/make/gen_make/template/win32-symantec/tmake.conf b/make/gen_make/template/win32-symantec/tmake.conf new file mode 100644 index 000000000..656a8561a --- /dev/null +++ b/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/make/gen_make/template/win32-watcom/app.t b/make/gen_make/template/win32-watcom/app.t new file mode 100644 index 000000000..fc4dc2c79 --- /dev/null +++ b/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/make/gen_make/template/win32-watcom/generic.t b/make/gen_make/template/win32-watcom/generic.t new file mode 100644 index 000000000..ca622ee94 --- /dev/null +++ b/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/make/gen_make/template/win32-watcom/lib.t b/make/gen_make/template/win32-watcom/lib.t new file mode 100644 index 000000000..d8ac6c7a7 --- /dev/null +++ b/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/make/gen_make/template/win32-watcom/subdirs.t b/make/gen_make/template/win32-watcom/subdirs.t new file mode 100644 index 000000000..8b881ab55 --- /dev/null +++ b/make/gen_make/template/win32-watcom/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Win32 template +#$ IncludeTemplate("../win32/subdirs.t"); diff --git a/make/gen_make/template/win32-watcom/tmake.conf b/make/gen_make/template/win32-watcom/tmake.conf new file mode 100644 index 000000000..9c8c6c9a3 --- /dev/null +++ b/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/make/gen_make/template/win32/subdirs.t b/make/gen_make/template/win32/subdirs.t new file mode 100644 index 000000000..2141b6037 --- /dev/null +++ b/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/src/Makefile.am b/src/Makefile.am new file mode 100644 index 000000000..12bc5b63a --- /dev/null +++ b/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/src/ta_abstract/Makefile.am b/src/ta_abstract/Makefile.am new file mode 100644 index 000000000..cba69bbc3 --- /dev/null +++ b/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/src/ta_abstract/excel_glue.c b/src/ta_abstract/excel_glue.c new file mode 100644 index 000000000..043ed2662 --- /dev/null +++ b/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/src/ta_abstract/frames/ta_frame.c b/src/ta_abstract/frames/ta_frame.c new file mode 100644 index 000000000..83fba3582 --- /dev/null +++ b/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/src/ta_abstract/frames/ta_frame.h b/src/ta_abstract/frames/ta_frame.h new file mode 100644 index 000000000..e75a8c3c0 --- /dev/null +++ b/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/src/ta_abstract/ta_abstract.c b/src/ta_abstract/ta_abstract.c new file mode 100644 index 000000000..8c03e34a8 --- /dev/null +++ b/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/src/ta_abstract/ta_def_ui.c b/src/ta_abstract/ta_def_ui.c new file mode 100644 index 000000000..49d8adbcf --- /dev/null +++ b/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/src/ta_abstract/ta_def_ui.h b/src/ta_abstract/ta_def_ui.h new file mode 100644 index 000000000..a02f0c4c7 --- /dev/null +++ b/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/src/ta_abstract/ta_frame_priv.h b/src/ta_abstract/ta_frame_priv.h new file mode 100644 index 000000000..0a8e4cf1f --- /dev/null +++ b/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/src/ta_abstract/ta_func_api.c b/src/ta_abstract/ta_func_api.c new file mode 100644 index 000000000..c2e139195 --- /dev/null +++ b/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/src/ta_abstract/ta_group_idx.c b/src/ta_abstract/ta_group_idx.c new file mode 100644 index 000000000..d974c6d61 --- /dev/null +++ b/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/src/ta_abstract/ta_java_defs.h b/src/ta_abstract/ta_java_defs.h new file mode 100644 index 000000000..489a20b76 --- /dev/null +++ b/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/src/ta_abstract/tables/table_a.c b/src/ta_abstract/tables/table_a.c new file mode 100644 index 000000000..f830a6daf --- /dev/null +++ b/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/src/ta_abstract/tables/table_b.c b/src/ta_abstract/tables/table_b.c new file mode 100644 index 000000000..e944f1158 --- /dev/null +++ b/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/src/ta_abstract/tables/table_c.c b/src/ta_abstract/tables/table_c.c new file mode 100644 index 000000000..ba3f289e1 --- /dev/null +++ b/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/src/ta_abstract/tables/table_d.c b/src/ta_abstract/tables/table_d.c new file mode 100644 index 000000000..16918eeda --- /dev/null +++ b/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/src/ta_abstract/tables/table_e.c b/src/ta_abstract/tables/table_e.c new file mode 100644 index 000000000..cedc9e5b8 --- /dev/null +++ b/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/src/ta_abstract/tables/table_f.c b/src/ta_abstract/tables/table_f.c new file mode 100644 index 000000000..f861d1b91 --- /dev/null +++ b/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/src/ta_abstract/tables/table_g.c b/src/ta_abstract/tables/table_g.c new file mode 100644 index 000000000..07287c2ed --- /dev/null +++ b/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/src/ta_abstract/tables/table_h.c b/src/ta_abstract/tables/table_h.c new file mode 100644 index 000000000..ffc30fb47 --- /dev/null +++ b/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/src/ta_abstract/tables/table_i.c b/src/ta_abstract/tables/table_i.c new file mode 100644 index 000000000..d9403f82d --- /dev/null +++ b/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/src/ta_abstract/tables/table_j.c b/src/ta_abstract/tables/table_j.c new file mode 100644 index 000000000..264b643ff --- /dev/null +++ b/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/src/ta_abstract/tables/table_k.c b/src/ta_abstract/tables/table_k.c new file mode 100644 index 000000000..c93f6ca71 --- /dev/null +++ b/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/src/ta_abstract/tables/table_l.c b/src/ta_abstract/tables/table_l.c new file mode 100644 index 000000000..87595526a --- /dev/null +++ b/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/src/ta_abstract/tables/table_m.c b/src/ta_abstract/tables/table_m.c new file mode 100644 index 000000000..3ff2acd1b --- /dev/null +++ b/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/src/ta_abstract/tables/table_n.c b/src/ta_abstract/tables/table_n.c new file mode 100644 index 000000000..05d2bb1d6 --- /dev/null +++ b/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/src/ta_abstract/tables/table_o.c b/src/ta_abstract/tables/table_o.c new file mode 100644 index 000000000..17763c333 --- /dev/null +++ b/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/src/ta_abstract/tables/table_p.c b/src/ta_abstract/tables/table_p.c new file mode 100644 index 000000000..87d587349 --- /dev/null +++ b/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/src/ta_abstract/tables/table_q.c b/src/ta_abstract/tables/table_q.c new file mode 100644 index 000000000..b64342ab2 --- /dev/null +++ b/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/src/ta_abstract/tables/table_r.c b/src/ta_abstract/tables/table_r.c new file mode 100644 index 000000000..9d6a84645 --- /dev/null +++ b/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/src/ta_abstract/tables/table_s.c b/src/ta_abstract/tables/table_s.c new file mode 100644 index 000000000..bced2d9b9 --- /dev/null +++ b/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/src/ta_abstract/tables/table_t.c b/src/ta_abstract/tables/table_t.c new file mode 100644 index 000000000..6dbef0fd6 --- /dev/null +++ b/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/src/ta_abstract/tables/table_u.c b/src/ta_abstract/tables/table_u.c new file mode 100644 index 000000000..1a7856764 --- /dev/null +++ b/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/src/ta_abstract/tables/table_v.c b/src/ta_abstract/tables/table_v.c new file mode 100644 index 000000000..e49fa92e2 --- /dev/null +++ b/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/src/ta_abstract/tables/table_w.c b/src/ta_abstract/tables/table_w.c new file mode 100644 index 000000000..266659086 --- /dev/null +++ b/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/src/ta_abstract/tables/table_x.c b/src/ta_abstract/tables/table_x.c new file mode 100644 index 000000000..addb74d1a --- /dev/null +++ b/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/src/ta_abstract/tables/table_y.c b/src/ta_abstract/tables/table_y.c new file mode 100644 index 000000000..fe1679ad4 --- /dev/null +++ b/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/src/ta_abstract/tables/table_z.c b/src/ta_abstract/tables/table_z.c new file mode 100644 index 000000000..de871a1f5 --- /dev/null +++ b/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/src/ta_abstract/templates/CoreAnnotated.java.template b/src/ta_abstract/templates/CoreAnnotated.java.template new file mode 100644 index 000000000..c563be53a --- /dev/null +++ b/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/src/ta_abstract/templates/Makefile.am.template b/src/ta_abstract/templates/Makefile.am.template new file mode 100644 index 000000000..73de5e187 --- /dev/null +++ b/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/src/ta_abstract/templates/excel_glue.c.template b/src/ta_abstract/templates/excel_glue.c.template new file mode 100644 index 000000000..b82f0c15c --- /dev/null +++ b/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/src/ta_abstract/templates/ta_frame.c.template b/src/ta_abstract/templates/ta_frame.c.template new file mode 100644 index 000000000..0c1dec33c --- /dev/null +++ b/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/src/ta_abstract/templates/ta_frame.h.template b/src/ta_abstract/templates/ta_frame.h.template new file mode 100644 index 000000000..64ba7a0ae --- /dev/null +++ b/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/src/ta_abstract/templates/ta_func.h.template b/src/ta_abstract/templates/ta_func.h.template new file mode 100644 index 000000000..f93d09461 --- /dev/null +++ b/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/src/ta_abstract/templates/ta_func.swg.template b/src/ta_abstract/templates/ta_func.swg.template new file mode 100644 index 000000000..3346210d5 --- /dev/null +++ b/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/src/ta_abstract/templates/ta_func_api.c.template b/src/ta_abstract/templates/ta_func_api.c.template new file mode 100644 index 000000000..689aefc26 --- /dev/null +++ b/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/src/ta_abstract/templates/ta_group_idx.c.template b/src/ta_abstract/templates/ta_group_idx.c.template new file mode 100644 index 000000000..cfaba0015 --- /dev/null +++ b/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/src/ta_abstract/templates/ta_java_defs.h.template b/src/ta_abstract/templates/ta_java_defs.h.template new file mode 100644 index 000000000..b9cbdb6a7 --- /dev/null +++ b/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/src/ta_abstract/templates/ta_retcode.c.template b/src/ta_abstract/templates/ta_retcode.c.template new file mode 100644 index 000000000..5c2f507c8 --- /dev/null +++ b/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/src/ta_abstract/templates/ta_x.c.template b/src/ta_abstract/templates/ta_x.c.template new file mode 100644 index 000000000..5b227f168 --- /dev/null +++ b/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/src/ta_common/Makefile.am b/src/ta_common/Makefile.am new file mode 100644 index 000000000..945449020 --- /dev/null +++ b/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/src/ta_common/ta_global.c b/src/ta_common/ta_global.c new file mode 100644 index 000000000..33ff85f14 --- /dev/null +++ b/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/src/ta_common/ta_global.h b/src/ta_common/ta_global.h new file mode 100644 index 000000000..3cdfcf653 --- /dev/null +++ b/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/src/ta_common/ta_magic_nb.h b/src/ta_common/ta_magic_nb.h new file mode 100644 index 000000000..72ac109f4 --- /dev/null +++ b/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/src/ta_common/ta_memory.h b/src/ta_common/ta_memory.h new file mode 100644 index 000000000..b2a74bc83 --- /dev/null +++ b/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/src/ta_common/ta_pragma.h b/src/ta_common/ta_pragma.h new file mode 100644 index 000000000..6d006db54 --- /dev/null +++ b/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/src/ta_common/ta_retcode.c b/src/ta_common/ta_retcode.c new file mode 100644 index 000000000..674dc6d7e --- /dev/null +++ b/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/src/ta_common/ta_retcode.csv b/src/ta_common/ta_retcode.csv new file mode 100644 index 000000000..ea3bd7026 --- /dev/null +++ b/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/src/ta_common/ta_version.c b/src/ta_common/ta_version.c new file mode 100644 index 000000000..0df9dfdd2 --- /dev/null +++ b/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/src/ta_func/Makefile.am b/src/ta_func/Makefile.am new file mode 100644 index 000000000..030a5161a --- /dev/null +++ b/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/src/ta_func/ta_ACOS.c b/src/ta_func/ta_ACOS.c new file mode 100644 index 000000000..72ba5803c --- /dev/null +++ b/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/src/ta_func/ta_AD.c b/src/ta_func/ta_AD.c new file mode 100644 index 000000000..46cd050b7 --- /dev/null +++ b/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/src/ta_func/ta_ADD.c b/src/ta_func/ta_ADD.c new file mode 100644 index 000000000..bb143d7e2 --- /dev/null +++ b/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/src/ta_func/ta_ADOSC.c b/src/ta_func/ta_ADOSC.c new file mode 100644 index 000000000..4e12f44d5 --- /dev/null +++ b/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/src/ta_func/ta_ADX.c b/src/ta_func/ta_ADX.c new file mode 100644 index 000000000..36438f180 --- /dev/null +++ b/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/src/ta_func/ta_ADXR.c b/src/ta_func/ta_ADXR.c new file mode 100644 index 000000000..8008d158a --- /dev/null +++ b/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/src/ta_func/ta_APO.c b/src/ta_func/ta_APO.c new file mode 100644 index 000000000..94060ddac --- /dev/null +++ b/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/src/ta_func/ta_AROON.c b/src/ta_func/ta_AROON.c new file mode 100644 index 000000000..9ef005beb --- /dev/null +++ b/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/src/ta_func/ta_AROONOSC.c b/src/ta_func/ta_AROONOSC.c new file mode 100644 index 000000000..5d99c4d5a --- /dev/null +++ b/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/src/ta_func/ta_ASIN.c b/src/ta_func/ta_ASIN.c new file mode 100644 index 000000000..c118cae6e --- /dev/null +++ b/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/src/ta_func/ta_ATAN.c b/src/ta_func/ta_ATAN.c new file mode 100644 index 000000000..b8efdc0f4 --- /dev/null +++ b/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/src/ta_func/ta_ATR.c b/src/ta_func/ta_ATR.c new file mode 100644 index 000000000..0367fffac --- /dev/null +++ b/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/src/ta_func/ta_AVGPRICE.c b/src/ta_func/ta_AVGPRICE.c new file mode 100644 index 000000000..36427e8e9 --- /dev/null +++ b/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/src/ta_func/ta_BBANDS.c b/src/ta_func/ta_BBANDS.c new file mode 100644 index 000000000..e1c198802 --- /dev/null +++ b/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/src/ta_func/ta_BETA.c b/src/ta_func/ta_BETA.c new file mode 100644 index 000000000..7e42f6608 --- /dev/null +++ b/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/src/ta_func/ta_BOP.c b/src/ta_func/ta_BOP.c new file mode 100644 index 000000000..c2b655ddf --- /dev/null +++ b/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/src/ta_func/ta_CCI.c b/src/ta_func/ta_CCI.c new file mode 100644 index 000000000..14fa40ee1 --- /dev/null +++ b/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/src/ta_func/ta_CDL2CROWS.c b/src/ta_func/ta_CDL2CROWS.c new file mode 100644 index 000000000..4e223adf4 --- /dev/null +++ b/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/src/ta_func/ta_CDL3BLACKCROWS.c b/src/ta_func/ta_CDL3BLACKCROWS.c new file mode 100644 index 000000000..e057661fc --- /dev/null +++ b/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/src/ta_func/ta_CDL3INSIDE.c b/src/ta_func/ta_CDL3INSIDE.c new file mode 100644 index 000000000..b70b29496 --- /dev/null +++ b/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/src/ta_func/ta_CDL3LINESTRIKE.c b/src/ta_func/ta_CDL3LINESTRIKE.c new file mode 100644 index 000000000..642e250ed --- /dev/null +++ b/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/src/ta_func/ta_CDL3OUTSIDE.c b/src/ta_func/ta_CDL3OUTSIDE.c new file mode 100644 index 000000000..15f6c192a --- /dev/null +++ b/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/src/ta_func/ta_CDL3STARSINSOUTH.c b/src/ta_func/ta_CDL3STARSINSOUTH.c new file mode 100644 index 000000000..51e13d8c3 --- /dev/null +++ b/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/src/ta_func/ta_CDL3WHITESOLDIERS.c b/src/ta_func/ta_CDL3WHITESOLDIERS.c new file mode 100644 index 000000000..a8098c9a6 --- /dev/null +++ b/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/src/ta_func/ta_CDLABANDONEDBABY.c b/src/ta_func/ta_CDLABANDONEDBABY.c new file mode 100644 index 000000000..462aeb3bd --- /dev/null +++ b/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/src/ta_func/ta_CDLADVANCEBLOCK.c b/src/ta_func/ta_CDLADVANCEBLOCK.c new file mode 100644 index 000000000..9dff161c4 --- /dev/null +++ b/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/src/ta_func/ta_CDLBELTHOLD.c b/src/ta_func/ta_CDLBELTHOLD.c new file mode 100644 index 000000000..0a259e3a5 --- /dev/null +++ b/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/src/ta_func/ta_CDLBREAKAWAY.c b/src/ta_func/ta_CDLBREAKAWAY.c new file mode 100644 index 000000000..5ca3e9ad5 --- /dev/null +++ b/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/src/ta_func/ta_CDLCLOSINGMARUBOZU.c b/src/ta_func/ta_CDLCLOSINGMARUBOZU.c new file mode 100644 index 000000000..cbb991410 --- /dev/null +++ b/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/src/ta_func/ta_CDLCONCEALBABYSWALL.c b/src/ta_func/ta_CDLCONCEALBABYSWALL.c new file mode 100644 index 000000000..bfba843c1 --- /dev/null +++ b/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/src/ta_func/ta_CDLCOUNTERATTACK.c b/src/ta_func/ta_CDLCOUNTERATTACK.c new file mode 100644 index 000000000..fa76bba85 --- /dev/null +++ b/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/src/ta_func/ta_CDLDARKCLOUDCOVER.c b/src/ta_func/ta_CDLDARKCLOUDCOVER.c new file mode 100644 index 000000000..ee5e3f04d --- /dev/null +++ b/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/src/ta_func/ta_CDLDOJI.c b/src/ta_func/ta_CDLDOJI.c new file mode 100644 index 000000000..6d42dc7b2 --- /dev/null +++ b/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/src/ta_func/ta_CDLDOJISTAR.c b/src/ta_func/ta_CDLDOJISTAR.c new file mode 100644 index 000000000..14a6de1c2 --- /dev/null +++ b/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/src/ta_func/ta_CDLDRAGONFLYDOJI.c b/src/ta_func/ta_CDLDRAGONFLYDOJI.c new file mode 100644 index 000000000..de3082919 --- /dev/null +++ b/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/src/ta_func/ta_CDLENGULFING.c b/src/ta_func/ta_CDLENGULFING.c new file mode 100644 index 000000000..291971cd9 --- /dev/null +++ b/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/src/ta_func/ta_CDLEVENINGDOJISTAR.c b/src/ta_func/ta_CDLEVENINGDOJISTAR.c new file mode 100644 index 000000000..73f5b6565 --- /dev/null +++ b/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/src/ta_func/ta_CDLEVENINGSTAR.c b/src/ta_func/ta_CDLEVENINGSTAR.c new file mode 100644 index 000000000..00c623da3 --- /dev/null +++ b/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/src/ta_func/ta_CDLGAPSIDESIDEWHITE.c b/src/ta_func/ta_CDLGAPSIDESIDEWHITE.c new file mode 100644 index 000000000..57fe2d853 --- /dev/null +++ b/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/src/ta_func/ta_CDLGRAVESTONEDOJI.c b/src/ta_func/ta_CDLGRAVESTONEDOJI.c new file mode 100644 index 000000000..16992fb42 --- /dev/null +++ b/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/src/ta_func/ta_CDLHAMMER.c b/src/ta_func/ta_CDLHAMMER.c new file mode 100644 index 000000000..c46950efc --- /dev/null +++ b/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/src/ta_func/ta_CDLHANGINGMAN.c b/src/ta_func/ta_CDLHANGINGMAN.c new file mode 100644 index 000000000..866f7a11a --- /dev/null +++ b/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/src/ta_func/ta_CDLHARAMI.c b/src/ta_func/ta_CDLHARAMI.c new file mode 100644 index 000000000..d8ecec8f6 --- /dev/null +++ b/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/src/ta_func/ta_CDLHARAMICROSS.c b/src/ta_func/ta_CDLHARAMICROSS.c new file mode 100644 index 000000000..a2ee5bfa4 --- /dev/null +++ b/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/src/ta_func/ta_CDLHIGHWAVE.c b/src/ta_func/ta_CDLHIGHWAVE.c new file mode 100644 index 000000000..7a542590b --- /dev/null +++ b/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/src/ta_func/ta_CDLHIKKAKE.c b/src/ta_func/ta_CDLHIKKAKE.c new file mode 100644 index 000000000..2973c4f73 --- /dev/null +++ b/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/src/ta_func/ta_CDLHIKKAKEMOD.c b/src/ta_func/ta_CDLHIKKAKEMOD.c new file mode 100644 index 000000000..9fdf49685 --- /dev/null +++ b/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/src/ta_func/ta_CDLHOMINGPIGEON.c b/src/ta_func/ta_CDLHOMINGPIGEON.c new file mode 100644 index 000000000..19c6386c7 --- /dev/null +++ b/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/src/ta_func/ta_CDLIDENTICAL3CROWS.c b/src/ta_func/ta_CDLIDENTICAL3CROWS.c new file mode 100644 index 000000000..ca38679aa --- /dev/null +++ b/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/src/ta_func/ta_CDLINNECK.c b/src/ta_func/ta_CDLINNECK.c new file mode 100644 index 000000000..3d22e1123 --- /dev/null +++ b/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/src/ta_func/ta_CDLINVERTEDHAMMER.c b/src/ta_func/ta_CDLINVERTEDHAMMER.c new file mode 100644 index 000000000..1e7743f96 --- /dev/null +++ b/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/src/ta_func/ta_CDLKICKING.c b/src/ta_func/ta_CDLKICKING.c new file mode 100644 index 000000000..ad9a77753 --- /dev/null +++ b/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/src/ta_func/ta_CDLKICKINGBYLENGTH.c b/src/ta_func/ta_CDLKICKINGBYLENGTH.c new file mode 100644 index 000000000..f432737fa --- /dev/null +++ b/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/src/ta_func/ta_CDLLADDERBOTTOM.c b/src/ta_func/ta_CDLLADDERBOTTOM.c new file mode 100644 index 000000000..d6eb75f22 --- /dev/null +++ b/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/src/ta_func/ta_CDLLONGLEGGEDDOJI.c b/src/ta_func/ta_CDLLONGLEGGEDDOJI.c new file mode 100644 index 000000000..3548c687c --- /dev/null +++ b/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/src/ta_func/ta_CDLLONGLINE.c b/src/ta_func/ta_CDLLONGLINE.c new file mode 100644 index 000000000..589de1250 --- /dev/null +++ b/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/src/ta_func/ta_CDLMARUBOZU.c b/src/ta_func/ta_CDLMARUBOZU.c new file mode 100644 index 000000000..9d1cef970 --- /dev/null +++ b/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/src/ta_func/ta_CDLMATCHINGLOW.c b/src/ta_func/ta_CDLMATCHINGLOW.c new file mode 100644 index 000000000..3e813d016 --- /dev/null +++ b/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/src/ta_func/ta_CDLMATHOLD.c b/src/ta_func/ta_CDLMATHOLD.c new file mode 100644 index 000000000..c9cebdd24 --- /dev/null +++ b/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/src/ta_func/ta_CDLMORNINGDOJISTAR.c b/src/ta_func/ta_CDLMORNINGDOJISTAR.c new file mode 100644 index 000000000..5189c284d --- /dev/null +++ b/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/src/ta_func/ta_CDLMORNINGSTAR.c b/src/ta_func/ta_CDLMORNINGSTAR.c new file mode 100644 index 000000000..86334e8f0 --- /dev/null +++ b/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/src/ta_func/ta_CDLONNECK.c b/src/ta_func/ta_CDLONNECK.c new file mode 100644 index 000000000..6f4bacd09 --- /dev/null +++ b/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/src/ta_func/ta_CDLPIERCING.c b/src/ta_func/ta_CDLPIERCING.c new file mode 100644 index 000000000..7d95aaaae --- /dev/null +++ b/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/src/ta_func/ta_CDLRICKSHAWMAN.c b/src/ta_func/ta_CDLRICKSHAWMAN.c new file mode 100644 index 000000000..798b2632a --- /dev/null +++ b/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/src/ta_func/ta_CDLRISEFALL3METHODS.c b/src/ta_func/ta_CDLRISEFALL3METHODS.c new file mode 100644 index 000000000..3766281df --- /dev/null +++ b/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/src/ta_func/ta_CDLSEPARATINGLINES.c b/src/ta_func/ta_CDLSEPARATINGLINES.c new file mode 100644 index 000000000..0bb52152b --- /dev/null +++ b/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/src/ta_func/ta_CDLSHOOTINGSTAR.c b/src/ta_func/ta_CDLSHOOTINGSTAR.c new file mode 100644 index 000000000..93f5b82fc --- /dev/null +++ b/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/src/ta_func/ta_CDLSHORTLINE.c b/src/ta_func/ta_CDLSHORTLINE.c new file mode 100644 index 000000000..dc9a37632 --- /dev/null +++ b/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/src/ta_func/ta_CDLSPINNINGTOP.c b/src/ta_func/ta_CDLSPINNINGTOP.c new file mode 100644 index 000000000..024255331 --- /dev/null +++ b/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/src/ta_func/ta_CDLSTALLEDPATTERN.c b/src/ta_func/ta_CDLSTALLEDPATTERN.c new file mode 100644 index 000000000..a03d8ecdc --- /dev/null +++ b/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/src/ta_func/ta_CDLSTICKSANDWICH.c b/src/ta_func/ta_CDLSTICKSANDWICH.c new file mode 100644 index 000000000..bed1fbaf3 --- /dev/null +++ b/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/src/ta_func/ta_CDLTAKURI.c b/src/ta_func/ta_CDLTAKURI.c new file mode 100644 index 000000000..c445407a8 --- /dev/null +++ b/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/src/ta_func/ta_CDLTASUKIGAP.c b/src/ta_func/ta_CDLTASUKIGAP.c new file mode 100644 index 000000000..389c2c76c --- /dev/null +++ b/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/src/ta_func/ta_CDLTHRUSTING.c b/src/ta_func/ta_CDLTHRUSTING.c new file mode 100644 index 000000000..e8efa7ccc --- /dev/null +++ b/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/src/ta_func/ta_CDLTRISTAR.c b/src/ta_func/ta_CDLTRISTAR.c new file mode 100644 index 000000000..f65e69430 --- /dev/null +++ b/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/src/ta_func/ta_CDLUNIQUE3RIVER.c b/src/ta_func/ta_CDLUNIQUE3RIVER.c new file mode 100644 index 000000000..53a15684d --- /dev/null +++ b/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/src/ta_func/ta_CDLUPSIDEGAP2CROWS.c b/src/ta_func/ta_CDLUPSIDEGAP2CROWS.c new file mode 100644 index 000000000..191e29e1e --- /dev/null +++ b/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/src/ta_func/ta_CDLXSIDEGAP3METHODS.c b/src/ta_func/ta_CDLXSIDEGAP3METHODS.c new file mode 100644 index 000000000..3a6b5be5a --- /dev/null +++ b/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/src/ta_func/ta_CEIL.c b/src/ta_func/ta_CEIL.c new file mode 100644 index 000000000..65542d18d --- /dev/null +++ b/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/src/ta_func/ta_CMO.c b/src/ta_func/ta_CMO.c new file mode 100644 index 000000000..3bab2039e --- /dev/null +++ b/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/src/ta_func/ta_CORREL.c b/src/ta_func/ta_CORREL.c new file mode 100644 index 000000000..fc7d6a2de --- /dev/null +++ b/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/src/ta_func/ta_COS.c b/src/ta_func/ta_COS.c new file mode 100644 index 000000000..3de979510 --- /dev/null +++ b/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/src/ta_func/ta_COSH.c b/src/ta_func/ta_COSH.c new file mode 100644 index 000000000..47b6b45f1 --- /dev/null +++ b/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/src/ta_func/ta_DEMA.c b/src/ta_func/ta_DEMA.c new file mode 100644 index 000000000..c7153dfa5 --- /dev/null +++ b/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/src/ta_func/ta_DIV.c b/src/ta_func/ta_DIV.c new file mode 100644 index 000000000..e195a39bc --- /dev/null +++ b/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/src/ta_func/ta_DX.c b/src/ta_func/ta_DX.c new file mode 100644 index 000000000..8c3bb1ffe --- /dev/null +++ b/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/src/ta_func/ta_EMA.c b/src/ta_func/ta_EMA.c new file mode 100644 index 000000000..c528b88e0 --- /dev/null +++ b/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/src/ta_func/ta_EXP.c b/src/ta_func/ta_EXP.c new file mode 100644 index 000000000..3d8c4e51a --- /dev/null +++ b/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/src/ta_func/ta_FLOOR.c b/src/ta_func/ta_FLOOR.c new file mode 100644 index 000000000..d90110940 --- /dev/null +++ b/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/src/ta_func/ta_HT_DCPERIOD.c b/src/ta_func/ta_HT_DCPERIOD.c new file mode 100644 index 000000000..7bd66f128 --- /dev/null +++ b/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/src/ta_func/ta_HT_DCPHASE.c b/src/ta_func/ta_HT_DCPHASE.c new file mode 100644 index 000000000..647833203 --- /dev/null +++ b/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/src/ta_func/ta_HT_PHASOR.c b/src/ta_func/ta_HT_PHASOR.c new file mode 100644 index 000000000..ec56e824f --- /dev/null +++ b/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/src/ta_func/ta_HT_SINE.c b/src/ta_func/ta_HT_SINE.c new file mode 100644 index 000000000..109143ec4 --- /dev/null +++ b/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/src/ta_func/ta_HT_TRENDLINE.c b/src/ta_func/ta_HT_TRENDLINE.c new file mode 100644 index 000000000..a70903f68 --- /dev/null +++ b/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/src/ta_func/ta_HT_TRENDMODE.c b/src/ta_func/ta_HT_TRENDMODE.c new file mode 100644 index 000000000..cbceb127b --- /dev/null +++ b/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/src/ta_func/ta_KAMA.c b/src/ta_func/ta_KAMA.c new file mode 100644 index 000000000..eb1884289 --- /dev/null +++ b/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/src/ta_func/ta_LINEARREG.c b/src/ta_func/ta_LINEARREG.c new file mode 100644 index 000000000..579186784 --- /dev/null +++ b/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/src/ta_func/ta_LINEARREG_ANGLE.c b/src/ta_func/ta_LINEARREG_ANGLE.c new file mode 100644 index 000000000..0f72e1923 --- /dev/null +++ b/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/src/ta_func/ta_LINEARREG_INTERCEPT.c b/src/ta_func/ta_LINEARREG_INTERCEPT.c new file mode 100644 index 000000000..858fa6239 --- /dev/null +++ b/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/src/ta_func/ta_LINEARREG_SLOPE.c b/src/ta_func/ta_LINEARREG_SLOPE.c new file mode 100644 index 000000000..7c7c683c9 --- /dev/null +++ b/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/src/ta_func/ta_LN.c b/src/ta_func/ta_LN.c new file mode 100644 index 000000000..8a55c4e29 --- /dev/null +++ b/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/src/ta_func/ta_LOG10.c b/src/ta_func/ta_LOG10.c new file mode 100644 index 000000000..108b72f97 --- /dev/null +++ b/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/src/ta_func/ta_MA.c b/src/ta_func/ta_MA.c new file mode 100644 index 000000000..6b9c9f537 --- /dev/null +++ b/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/src/ta_func/ta_MACD.c b/src/ta_func/ta_MACD.c new file mode 100644 index 000000000..08af78989 --- /dev/null +++ b/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/src/ta_func/ta_MACDEXT.c b/src/ta_func/ta_MACDEXT.c new file mode 100644 index 000000000..0389cb950 --- /dev/null +++ b/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/src/ta_func/ta_MACDFIX.c b/src/ta_func/ta_MACDFIX.c new file mode 100644 index 000000000..78c2e1a4a --- /dev/null +++ b/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/src/ta_func/ta_MAMA.c b/src/ta_func/ta_MAMA.c new file mode 100644 index 000000000..cb6b5476b --- /dev/null +++ b/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/src/ta_func/ta_MAVP.c b/src/ta_func/ta_MAVP.c new file mode 100644 index 000000000..79c2fdb6e --- /dev/null +++ b/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/src/ta_func/ta_MAX.c b/src/ta_func/ta_MAX.c new file mode 100644 index 000000000..8dd1eb7c6 --- /dev/null +++ b/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/src/ta_func/ta_MAXINDEX.c b/src/ta_func/ta_MAXINDEX.c new file mode 100644 index 000000000..cbfea141d --- /dev/null +++ b/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/src/ta_func/ta_MEDPRICE.c b/src/ta_func/ta_MEDPRICE.c new file mode 100644 index 000000000..53e178bbd --- /dev/null +++ b/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/src/ta_func/ta_MFI.c b/src/ta_func/ta_MFI.c new file mode 100644 index 000000000..07fb70843 --- /dev/null +++ b/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/src/ta_func/ta_MIDPOINT.c b/src/ta_func/ta_MIDPOINT.c new file mode 100644 index 000000000..f101515e4 --- /dev/null +++ b/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/src/ta_func/ta_MIDPRICE.c b/src/ta_func/ta_MIDPRICE.c new file mode 100644 index 000000000..82156a501 --- /dev/null +++ b/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/src/ta_func/ta_MIN.c b/src/ta_func/ta_MIN.c new file mode 100644 index 000000000..642b87016 --- /dev/null +++ b/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/src/ta_func/ta_MININDEX.c b/src/ta_func/ta_MININDEX.c new file mode 100644 index 000000000..070c318b5 --- /dev/null +++ b/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/src/ta_func/ta_MINMAX.c b/src/ta_func/ta_MINMAX.c new file mode 100644 index 000000000..13e00e337 --- /dev/null +++ b/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/src/ta_func/ta_MINMAXINDEX.c b/src/ta_func/ta_MINMAXINDEX.c new file mode 100644 index 000000000..ad2b7f2fe --- /dev/null +++ b/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/src/ta_func/ta_MINUS_DI.c b/src/ta_func/ta_MINUS_DI.c new file mode 100644 index 000000000..eb14f38c8 --- /dev/null +++ b/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/src/ta_func/ta_MINUS_DM.c b/src/ta_func/ta_MINUS_DM.c new file mode 100644 index 000000000..252e386d2 --- /dev/null +++ b/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/src/ta_func/ta_MOM.c b/src/ta_func/ta_MOM.c new file mode 100644 index 000000000..955e7562b --- /dev/null +++ b/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/src/ta_func/ta_MULT.c b/src/ta_func/ta_MULT.c new file mode 100644 index 000000000..ef59fe6e9 --- /dev/null +++ b/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/src/ta_func/ta_NATR.c b/src/ta_func/ta_NATR.c new file mode 100644 index 000000000..326de52f2 --- /dev/null +++ b/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/src/ta_func/ta_NVI.c b/src/ta_func/ta_NVI.c new file mode 100644 index 000000000..d39aefe06 --- /dev/null +++ b/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/src/ta_func/ta_OBV.c b/src/ta_func/ta_OBV.c new file mode 100644 index 000000000..420038c66 --- /dev/null +++ b/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/src/ta_func/ta_PLUS_DI.c b/src/ta_func/ta_PLUS_DI.c new file mode 100644 index 000000000..ffe23a113 --- /dev/null +++ b/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/src/ta_func/ta_PLUS_DM.c b/src/ta_func/ta_PLUS_DM.c new file mode 100644 index 000000000..139b02d14 --- /dev/null +++ b/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/src/ta_func/ta_PPO.c b/src/ta_func/ta_PPO.c new file mode 100644 index 000000000..419f8d737 --- /dev/null +++ b/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/src/ta_func/ta_PVI.c b/src/ta_func/ta_PVI.c new file mode 100644 index 000000000..6bd5474e5 --- /dev/null +++ b/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/src/ta_func/ta_ROC.c b/src/ta_func/ta_ROC.c new file mode 100644 index 000000000..a245a1a7b --- /dev/null +++ b/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/src/ta_func/ta_ROCP.c b/src/ta_func/ta_ROCP.c new file mode 100644 index 000000000..eb0b95375 --- /dev/null +++ b/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/src/ta_func/ta_ROCR.c b/src/ta_func/ta_ROCR.c new file mode 100644 index 000000000..4314a4693 --- /dev/null +++ b/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/src/ta_func/ta_ROCR100.c b/src/ta_func/ta_ROCR100.c new file mode 100644 index 000000000..3db02bd31 --- /dev/null +++ b/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/src/ta_func/ta_RSI.c b/src/ta_func/ta_RSI.c new file mode 100644 index 000000000..d8cc104cc --- /dev/null +++ b/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/src/ta_func/ta_SAR.c b/src/ta_func/ta_SAR.c new file mode 100644 index 000000000..a3f664e17 --- /dev/null +++ b/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/src/ta_func/ta_SAREXT.c b/src/ta_func/ta_SAREXT.c new file mode 100644 index 000000000..5f2cbb929 --- /dev/null +++ b/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/src/ta_func/ta_SIN.c b/src/ta_func/ta_SIN.c new file mode 100644 index 000000000..af0b0f525 --- /dev/null +++ b/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/src/ta_func/ta_SINH.c b/src/ta_func/ta_SINH.c new file mode 100644 index 000000000..4fe3ca89f --- /dev/null +++ b/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/src/ta_func/ta_SMA.c b/src/ta_func/ta_SMA.c new file mode 100644 index 000000000..9c362415c --- /dev/null +++ b/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/src/ta_func/ta_SQRT.c b/src/ta_func/ta_SQRT.c new file mode 100644 index 000000000..9ff4a15cb --- /dev/null +++ b/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/src/ta_func/ta_STDDEV.c b/src/ta_func/ta_STDDEV.c new file mode 100644 index 000000000..bc7f894a2 --- /dev/null +++ b/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/src/ta_func/ta_STOCH.c b/src/ta_func/ta_STOCH.c new file mode 100644 index 000000000..4c581fe70 --- /dev/null +++ b/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/src/ta_func/ta_STOCHF.c b/src/ta_func/ta_STOCHF.c new file mode 100644 index 000000000..60ffeacda --- /dev/null +++ b/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/src/ta_func/ta_STOCHRSI.c b/src/ta_func/ta_STOCHRSI.c new file mode 100644 index 000000000..bf11cdbef --- /dev/null +++ b/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/src/ta_func/ta_SUB.c b/src/ta_func/ta_SUB.c new file mode 100644 index 000000000..5ae57ff25 --- /dev/null +++ b/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/src/ta_func/ta_SUM.c b/src/ta_func/ta_SUM.c new file mode 100644 index 000000000..1feb00efb --- /dev/null +++ b/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/src/ta_func/ta_T3.c b/src/ta_func/ta_T3.c new file mode 100644 index 000000000..bf4285990 --- /dev/null +++ b/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/src/ta_func/ta_TAN.c b/src/ta_func/ta_TAN.c new file mode 100644 index 000000000..dff966eaf --- /dev/null +++ b/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/src/ta_func/ta_TANH.c b/src/ta_func/ta_TANH.c new file mode 100644 index 000000000..a1d0781d6 --- /dev/null +++ b/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/src/ta_func/ta_TEMA.c b/src/ta_func/ta_TEMA.c new file mode 100644 index 000000000..3bdec0c45 --- /dev/null +++ b/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/src/ta_func/ta_TRANGE.c b/src/ta_func/ta_TRANGE.c new file mode 100644 index 000000000..31ac0ecf2 --- /dev/null +++ b/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/src/ta_func/ta_TRIMA.c b/src/ta_func/ta_TRIMA.c new file mode 100644 index 000000000..7da1b630a --- /dev/null +++ b/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/src/ta_func/ta_TRIX.c b/src/ta_func/ta_TRIX.c new file mode 100644 index 000000000..4466a7bb2 --- /dev/null +++ b/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/src/ta_func/ta_TSF.c b/src/ta_func/ta_TSF.c new file mode 100644 index 000000000..6015c1ccc --- /dev/null +++ b/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/src/ta_func/ta_TYPPRICE.c b/src/ta_func/ta_TYPPRICE.c new file mode 100644 index 000000000..147c4dfe5 --- /dev/null +++ b/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/src/ta_func/ta_ULTOSC.c b/src/ta_func/ta_ULTOSC.c new file mode 100644 index 000000000..d2bbfdfb1 --- /dev/null +++ b/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/src/ta_func/ta_VAR.c b/src/ta_func/ta_VAR.c new file mode 100644 index 000000000..e70330c3d --- /dev/null +++ b/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/src/ta_func/ta_WCLPRICE.c b/src/ta_func/ta_WCLPRICE.c new file mode 100644 index 000000000..77a97771d --- /dev/null +++ b/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/src/ta_func/ta_WILLR.c b/src/ta_func/ta_WILLR.c new file mode 100644 index 000000000..34b040f49 --- /dev/null +++ b/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/src/ta_func/ta_WMA.c b/src/ta_func/ta_WMA.c new file mode 100644 index 000000000..e3bf4aca4 --- /dev/null +++ b/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/src/ta_func/ta_utility.c b/src/ta_func/ta_utility.c new file mode 100644 index 000000000..aea018783 --- /dev/null +++ b/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/src/ta_func/ta_utility.h b/src/ta_func/ta_utility.h new file mode 100644 index 000000000..70fff4b40 --- /dev/null +++ b/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/src/tools/Makefile.am b/src/tools/Makefile.am new file mode 100644 index 000000000..e3bfc9182 --- /dev/null +++ b/src/tools/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS = foreign 1.4 +SUBDIRS = gen_code ta_regtest diff --git a/src/tools/gen_code/Makefile.am b/src/tools/gen_code/Makefile.am new file mode 100644 index 000000000..cb839c231 --- /dev/null +++ b/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/src/tools/gen_code/gen_code.c b/src/tools/gen_code/gen_code.c new file mode 100644 index 000000000..9a8792394 --- /dev/null +++ b/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/src/tools/gen_code/java/Main.java b/src/tools/gen_code/java/Main.java new file mode 100644 index 000000000..21f582774 --- /dev/null +++ b/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/src/tools/gen_code/java/PrettyCode.java b/src/tools/gen_code/java/PrettyCode.java new file mode 100644 index 000000000..5c5b60363 --- /dev/null +++ b/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/src/tools/gen_code/mcpp.exe b/src/tools/gen_code/mcpp.exe new file mode 100644 index 0000000000000000000000000000000000000000..c180a4daebdbb5f515da4aa7054f9f3497fe919b GIT binary patch literal 135168 zcmeEveRx#WwfC9H1coqi21qnQknp7-s8qBSV{C|wqB1%Y8MTTPE9!_}6lMflBG5?+ z!x&2|^lIy^q}X2DdRuC##uhawCBdd`^rmfWX^l2*_b|D=X`NdJJ2mg`xAs0W6F}eR zxzBr_=lw(UWcE2{f2_UsT5GSh_S*XdZrEm(SeE6&H9Txt?fB)tdindoe|qrxq$xi- z$=WmKXH(l9OMW(WY2?l|HLF(NcgN~m?y0%;mV58LFIw}d+iF(F?yb4=-kL>MUsH3> zeJgG|yS%(?hN=3UxsLAV0{1;pxbA)8bGSdxf9?}|@Vn`*6;C|N`_L^Z_$5_WG%Ub2IEFXUH@6$7xMq(p= z*;}S@5fA)l|61Ed>vwoYJjo67GPC^VfB4XHeZgVPlGOj>KY+9M1FAebdfU1v-uJCE z{gS?pEKp-v%gc*nlup~eAz&A)me9l|20p~VhZy(}10Q1GLkxU~f&Y&&5Ka!p2dg{%S;E-q z&&f~eq1a{CszVE{&eC3_wn=IaQoAL!|E^2Tvo1Vayp#DdNS*iZ3oZ3JtYme+vaD8r zF4!8#hLT}VW76*qs=q#MS@He8cvIGjZip;G<|JOLGmrAIyQL$#GFi!n8zYPP&Yumc z*8x_1zo(@mR?EDRC45myNE%hMeiyIX9l6x9qGfITP53kE(VhMb4b@~I6HrwS-dG{Mem73rRiKyJtEZ;tm~8I#6l>tj_<;`Mpc^! z>!Kuj8ClO4-RZ%Q+K$Sla|WTR{dMVgTM+Ff%Q*h&fOuUZWwPMb6G+x(DxT3x`qA|F#O#RhH^w@z87yok%1y)PZOX#=_ze|7mN(yT_h_|3qdG{hFVP~wdoN;)nC?Cca{#YP5jgF z4Z6W)8v&7wLVTUu@-}Z`!EzauP*u_y)Oe4)BcqY<=j?aY;2_ZC6Z!?~0X4_#qU>Mv zlw>&*V6<$bI;2MuWIM}#e^MJ?2h}uz%Oy-VvrUF}7vI>JJ4N`!`tCwYV@XYux;!?5 z2hZ#D_mlzRPJeIY>4jE$Ow!*Q?{Fvly~#jNYsJs_a6!0t%}4qC0xLQ<8R$)p^SGza2szUd$HINIb|B|tBCHz@*%ll%3JD#0Ka_p`_57K48g7?LcI}z@Npow=> z1oeY4Ky)|L@qMmPWG)(L4fi#wpj1}X>hB90Kq5IpP)`W9oGu+eGx3+lHb$1P5HhMs zntWOVeR;5@&{7tnVc5OP!p^lvdxe5AKYh|=tX?MKIP0nn;Og0bfG9-{#8ZxhPSnjp zX)6k;qQwg+XpmA!1TKCd&;}EglrHUj+|uD~Ug;!@Wcc!Vd3Mm-{8!wld0((FL1jBj zYeqF#GjIV@HL=r@mApUTtZCyfq2aG`>fFdPJys!e*{U%H#hKLOs4rf3k-&BdvdoOt zsn;IHv+RYjamjF|QC*VHoUT!~BR|9;MP1CNx?%v^pFvBUE}iM?(m{?Hh9gkOw2PSn znfN|OB9KX+gA8S{Gi*6Jp&;#^(%7ajDAZV*at;pqJ7v zM#Y;lWe<*4AANUtI6V!Gq66{6jzl=qa`3_Nd69jwY3cWbMWd80c$@zWWF*Upv;^p~ zvVS8a1m%H9y1UR1&d1q>u{&Eid7pVLAAnGY;!Q)CeA}2GY|Zi@p`k{#MRIr`f8%wl z1jRGeV`!tZRPH3j+#EvP9}aWc4Z4(}OJlfl38~O@G3reFF&CquS{dxMrD_ZHq|;i3 zBG8SR*c2K516GX&g@~6b)X|3|Q>qjwjj&DiDCgq+u2kZmAXqc~4OX}FU9Aw;q=QG^ zNCXB~Vpbxcjp`>~VF`%p0rhREE|>HV)RuDQ@wO-qP*biZHc>Zyz)_>i#b0(Lq=NK8 z0gl47oahR*Vy=-X$%91)jb3j{67^8yQ=Ll%K7(R!^J=^RX1y;pxax)>4!kYPrO81n zdWP=N0bqlw#{4Y$xD7H&KmOz(9|P>HdM8PG%x-aroCR@YRX-kakO=xX$Q$C0k{cA8 zO}~YFpddZES`WqG-?T=+P54#3NnH}H#@|KJlc{U!2H(R#qQMkM&1g_mA_IhWzk63Z zrNqh+t%kE;T$w_^OlTFr%#Kb{|NW>y8`8BtWojkYMjl1)l9jBgQT;qE6|Xd^=oC;H z+EJhQsin1qq#OD%WCu`_tQ0k&tfWh)5@l-Ck>TNjFtJAn0t(GoX&-Q*DaeSdlmn<& zHv+PF6EI({VOs)eMa)0{_aa(yi;jX0t%Q~Z=pN^+@z%dGr%&CvRnU&=YejX5O@NBO z)t}qqOa?rHeNXx~>Yab#n0qw+i2nb!V9}K)SPz~;0D<4VFOG}9yChZ+A$h?ANdWyp z53&_q2<$G4&5{x!k^mTISrpKTs#~2~RPhQSy_~K~J+(vns7S0KeLnQ*`Y$XNPScg0j|iU?uE3MmdmK_NXuv! zG&{e8XkL$s*5I;##g2#lBsIn`HlEZ)AWZbr`=UD$AWTS0J#O;acwiB1mneFypKN*? z^k+eGf}fHs=N4eywfoFOi^t{L;Q{czRIzY+r9ux{UiUUbs<1IY-dRf7Mgt|nM5`!f zna1JDjj%LBldAH?;PfJa=roYYR>tk z5TS<%Y8YNtgdw*GpdyyvM%^W|EH+!CV$)mfUb0g6z;(s+Qt3elgipYfO}ztpHj<%R z@LCVebouw-=I{?ZDnF`Aeg>8N47qpH1#&$mQ=lBWjy5(=&1){rDIqYn0L3!kR?pro zQUv0xELNJ@J&L-8jkRQDA7ZH~Lxh6cNirGUzI#E~QY14K*WK zxoGD?EB>~-<#pJF;AS(mNUr5NS84{@^S)U5HU_cf_1NeGrGG#QPfFk7la83j`(k-N zl8L~fbR{w}jknD8TL1i>MEFoLa3~SzkMM=sdYEmy;@Q#n!`7?(GjqM2^!LwyIpOb5 z2Kp0$zGS#Be)!G={xf~k58lG(|mANJW>kZ>Bw<$~n5+${%zWXMDyIiKqvI#=o?@t26o?QMCL zG)GkQCd0jgir#or?^WK-kUV(NOLUw+ThK8ZKPhNy){lZPr`wj{PrSpki@&v%{JW+! zwGwqFi-4Gqi3O|%hPvx@&!(5zsLmTZl{5gI4R1q`cJvV3paGPcJJAlSV!g>q8bOJW zE9D~SKu>I3n{>3FUa(Tt_EXDBDJW{4rOQF;Qj&e@Nrro*Pd)Lbo@>3Ery&a*0_@Xn z-KS>!d_Z@;$^xc4F5qsc0k8v|oQXBYv=x_F>`LFfsgCc6 z5^&nPPNb(IHxrACp?oZNq79M()dwF)Z1AqgNY_mf56*L zfB&6GC&T@Xss5?dnf|}Y8J4!u2-zg^$ zU7C6ik2Lm@PLES#A>q(Z#5hhgxC^*(05@mZCgMr?syJpa>}>R;%XFHfk(zicXltcK zf@TlF+S1fjcxcyq>d5v`8LdQCmTwT25gXHB#t%cu00-&{dYBuYS)*T%a``3&%T6$rK+(DsQ33L{9VaFS3GrR0)Lyj z!fRoTbj^Q#>$VAJQXcFWjh}QZeU`Kr&z41}iw>lnhU1{kHMR|I1c9pt-GDlL8>(M! z+7Aqb)NIr8JpC-v1*%dN=HVo8l3*{{;O1nZ`0~gX1y=P0tAfrIAwmtyCFy0@@6*#A z5gRuyl1Vnb7yC-~b0jEp_cLoUykGlDY_k}w(ZLsKZ(cdUB$)_wB>kf0e12NJ^(d|{ z;QBePHeBDv^=n*vas2>SKduz6pWyl%F3a;j`{(dDJ)RPe$0fx}J)`(L+KoSBJf5<# zUzuKS?Z8zv15G&pXa6jxF6ofs`mfXJxD!=oPp`M$!tcSE^;Z2E^;Qq=SKzuH>D9RY zg7gFUwaWfy|Ew~Ubd;4jrFco1i@&9#@Mm;cnS0DPQ1!pz`WBn`pLI@`vO9%4NlIn- z;}AuvLhZfPX1lUjjruvPDNU7aN{F}#_6?|Oen;w;7E(>_J7WvfQ^=)WIfVtGSW_z< z8-QyldO}}ZI13)!g~CuB@;X%;RjQy?sc3jz3n+|AC6<<1EEzzqMs-wE`23FaQmq>N zz{}jOBYl%Pj`YDOp5L*lNt*C(?^xi^#!f59yS(gr)g{s@;j^V7Akr?vy!{KcMR~qY ztuj-OAJz7$0&1p?z{(vOBK5=;0Ma#_`XT)!Kq&4#w2-!HW0AG|&33C7=YB?1HSrU5H9nVr!n#_ErH3{EeMF~R&D#6#+S z`n6?oVqq5FzI`bTIwRHft$1v$9{D%@@XdP54AwFvxTI zrr%i>BzohJ@ZK)~W7c|@1HJJJEoh#6*#qT-FE?DZek@d%O&6m54Qm$4yKcv{ zkK&$*6m)N0j7k`2IEUad<@D?^}HF)KYNEf=J3*Yn`DU1=o z^4q+f3*m3aI%GZiXhr8odh+?sxAPh1p!pCvMBIILt6&_Ey$-VPZ0To<_?P~4QeY4# zs;sGaI$I6_gYUswg|n|!AbKg}O6=g%q`U(sZEDIg_xdqN(DxeC$Pjy_m17Z7?tGIs z=bJ=Acd2zp2ALYw^j}NQR6X9nMjQ@cwmcwIPh9e!x@#Hg&d!dNN$sg!c&pZaj`jevkaXxwj4)xQj8io< z7{L3H8LklI6WNk*?O?0Pa?X|^nJtwE)l(kRa;#xf;^BgPTIg;58R`T~bYXmh1KyOK zE6&*2F~~{&7g^8Ve@g@v=k!r%?>M%&9hF@cTOP0LLAPsS*Qv*DM6T>?3R|h? zU&%f+)kc^*T`k+dSS5f09w|JKB@-repEmv+^BQkcVH9CiQY`6dVK1@N1L0ksua^5J zj)U#O$kS+Cv-anHg$%N+IOD{1?fX14u%D+%dm~y?_X~s2k`~)QgP7D9hi1Y)Zp>Ez z`E2^6C*L_0t%O->OjJm>^~`&~G56R>Trkn$*u`HJxWT5Jx!&d!my2Y=mi0}NnJ#?5 z$-$c)oucYCYD@_qM*0ZVVF+94R{DxGEKgQTk)y^VtC`vHG)=sJEBf7&=X=p_O;K08adP>$lC`qQVS zTk7Erz*9KeroDMoI%--D#^%I@_N}IAwmXc5tM(nk^&DA&hSW708a3w=Hiod0IFAG> ztBa?THR$I(l&oa4vYe3F#bi?EDJ+3y;F3g;(iqerY|*d1U2t-NIciByO?{U^?b?lG zvXbPTfF9D+dz!cT2j~S-Q}DK2GQzC4>3uuFi#D@T64L@gLIU^dO z0sN2^t$-SY6_a@OG>N@I-4-37crzPLJ9vEK?@o@LRy1zoHJ2r6DSlknXZM&c-~-la zP-Voann~YgBi5O|frfMROgLaoYg23yNN<2$X?UPf9ga&++60TT+!Ina5nL*IbdFmx znKTkfSW6FQQX2s@0wXv@sgDyo)NggpPaVgi^CNqJ3Z41Q*CjJ160LH|tlB|L&D1~u zorh65jLo20Hv)#}D7Z+u(mhH8q2l-1bWsz7Cl!dO$s(ez5JI$F^aBMb{H&+ClB>@#V3gS+N#s#^ro`<md4^qpSeVxR#7o%SsD9K-I2k5X>uRNd zjh#-#(6xhUE>k46Faq%di*sdyMucAUVqM>+w*=&a(N7yG{HOQeq*xHnLc}+Dtmq9Z zJ(21?aNe-=U;5Y<p3 z)KqBldU-^wO{{{r4_K4)j(zpLdpM?g!5EHPw=CtD8OpW8zH=bwS-I zp6-F*MzsL77{ytpDwzw~s5b}I?;vnN#H!^QNMRo27s0fb^1i>QXM+7`b5`YJ3%V@WxQ>*YXZE9hr$uAFpLHgmdyTPsl@9f&!4O6|LJq zU$W5V>BQb!%*}{=!HS%wrL!@-AUsAjVYzT}qk0)05ey3!uHm4?iuQ%pdZ#SH672oO z@D}=9hgyYLu)v%H!)8!p1#0vm?UCA5xuB(r@&NzaXu|?&RT4cwj7+r^t3*HYqtryz z|2q&%X0DDm`7Ek^70Aa?Cd`qjj2Gww#3E8@;-!x zQsx2`G)4yP91|o57N>ny>@#K+QD*|rrpIGIg`7cqgQ73NXv)-vb4^#RoGW^wLmLpb zDg(;IivJQ3=cGhfUz}lK%KHcB2t_9J{44m*8sjYes5A+jIDwL>Ao@@w0|?cFdR_o) z2yd%K;cLWM0t4eDTb9|bv$J`U4OO57^s#~kl8b$zNRC}a1!~qoqK`s=vC==0j=S^1 z0n?J3CTGmTP&-e*Bm$gm)gktn3bi0_B!+}x`OLy#dH~#^M_9e5SJiG#F30`5#3&Pe#sUxxo6CFM59DQJ^OB zBy-hasKE_jeLb#odiK5RYK-hAc;#H#4ynDcJgC=T4rDn@~|i2r=cv7nWhj$W#}Z1fTU-bIimYQWRdbzL6D4bcV% zFf$yD7I1J;DSE~_ov$5DNUc9&+l+Xs!mIrF1V)UHAu0#ROedZ8z(8p@cBov>6^3f} zD{R_OImpscOVjKgC!WgaIb%y;$BhL9wr9f?y#TIW^p=835?G)BULkrHwDLK%=wu}y zfn6gPpfPp5?qGV3uJlxT3bGZbG<~XmQnKEs6Qed@&dlD;_6n@f+KXy+&*CqaB&3V2 zEnRq6E1A~L(WD7Gkyvev31(2=-R^@@$dw zGYq57#6=b;_6bHnsPOV2AKilWL|J}v)*57gc1J^ycF1frO=Omr*AGDwnQ4{iiL}|fxKK@vkCuomU2GfKXvgX^c&EXSQhiB;GMFJSWPh` z&fLMEs$OXDm|vPLYoCmwslQVQb48uzZ;DJ37}9ED{P4m=m@D0*yqllp3;zJZ8qc_@ z-ip)%yV@_Y=tZd)x^T-2gk(>HKq5{@C{}~BVs5olKPz(0j0gn!d07EY=TWqbv89c=i86Q!nsdP0+FvEtV62+CmiaWImLI?jC*yeMui6LO`?FSbgB{h zfH*1Wn3Ldz($rqOEpXd(qZqN088rf^VLcdG26?*H1j>oWj5SBvS>RU8!We+`-MY12 z63?Vy0YGS zCQxsE#axT<%gYHW&+{r1;MY)_EOm&V^|bXfF;`B1(3vg-fkb@IqlHI`T1b~l5jG_J zj-cP}xyXd*uzLA{iU_LkAJRVq`bY6c`{X{D?X}0w4s73>^zVhM8q~xHb_9Iptvm!n zm!__VG>A9tohMvTh8EH{ouIri@dxACb@YAhy*^e0Ch`%WFbqf?Dw9A%cE_=_KoC`u!|8lJdbF{$@5CeQ@pOjrr8Ust2@?UTVv_}k(9M(kiY zLvFm!u_rK(+v82`&~or1r~(I=6J9gM72bka7ls*LhblRRbj1(POWehh?7=Z{glp^kg7D97W{p-n*k^_`Ag0vIE^jDkei0j*X8u z?YFQJcayXxA&Zim1G^-)R94SQQ?e3;aHi-*cDGAYb5KH4M0C8An(vhpOp3)ssUpir? zyraNK6aYyw%Qums06PCd#$dzaQ*F zpK(WHD>n|fDN^=B2b0W!_UVDW@uS1BievDT`VFV$a2J$`B(h>3Q2+uU133Xe>6i)k zi`%MS!xuk#hPQbJ2`~(B;SKaQpUk@e?(A?pdtH2bId{24XS6c@?hVjL0d{};SpQxq zZfyXWvH`MJq-|?>KgO9$5FJ?RMlm>9ihAL1pYGqwT~^2SLN7({cVH7zppP|TMRh>1 zIwY}o8SaAMCaDYrl3MbLWsL<4;k`Pz(z&~Ej3y$!f+HkK3 z4*%|2e^0UC2m%u}d#LZ)EaHkT4wmt6~k6` ztr_2FFABS(L22&vq}T{YelzLy>6L6*ymg3v=mQ6-uxWZmQXE_4py|aN9;x{ea-E}d zY3_x>30{$fJa8W90t+)gzg71DdneH^cm#QRf@;@Kk0Ec(*}~6@uZ2**8!ce+dsKb~ zNaCoLYfim%Dr0%aa3Di4_y7(LU@qYRc9%u53VaAIs-rHF|8cnyA=)jKfvfQv3l#_& z_3uvx_QzAx68PJ+ANy3GDx&ay@3Ws9x>2^?bl|6bG@hd7Cs1=cg$UA*FzwOl%}i4* z!1K>CU9QvjF+E17Z)KWJ8sxbSX^fFflcgyaBmwxjOZwc0S0n~GNkL+35!)*FU~_-}+!3cytRSO*?*_Heow6ZzS zM8kUElCETnNhQ4o1-Ax&MrWTg_d4)q>Vz4@%YnAMW{v;m_%*7S$ZZlZuNI_ zKYFh{!tKid0a&L~0Kw3M7HlbTz=1(Q^vUHm3|L5}n(7l_-4jxOmbhwP8Zy;vuZ&KD zjt&{<3n5H|!c~;oVUw@HuIOZ{(JS3VFI4HB=5?`JCGU&t__5AZ=!9KYSvxhU_^ZR1 zP=#AQNs0Qs>*}p1aIL`Q!&QxI7OwMf)#F-%>v~+PaXpXA8jFAOhY5%I$29)spX*!m z*QtNyWr+(nrRK#b{Ei;$c8(cambU>R-!~0%`IHLQk162~&6S^_75D*~N3WlSzY{l1 z1G~i)lp?4J5P^v4PcDR18Q>ky<;kQgjphTD8TFy2jHbYm#gr5qw2NhJ_nWtQD+)=2 z(C^V89L0A7fja>P9mPyPg*2ByjfXBN4}+22d~E!tr-`y8F$|Htc&_e(+6YN06;G6k zu}q2>A|DR4;`=N0ds7~U{bo@WQ2@uDK}KXOZ_8IT`;7KJ^hKST=>5WGojS$a+@w=g z-sUwrRqk!RQ>Q%M=9?vjy=Ksm2CenCQngps>KjqBJR7jqU(ILz*6PcQr0}*>*oDTi z(1x>VJ18Jv!&;bb8LSDtBe)vC(sv4}4dt7f`uW=X`QPw`Va>b`#Sz11FVQ=^&Cer) zQAga~=I=;7giic%JrYdU3&#>Sy7eH)uwXSJR?ZlMWD+t6$U4~Cx(W@4)b9oFRp|x5 zn}ZP_Jrw>5b4(hBY|s4HvHw^UVm;>#tvPiYo zw9$0}Np?;_l3}a12(f~G#<>*!mu^zg4{s3o0E1f~853KF;L@>yf!Hd$dWk}&WI+tZ zr8+wZv9n$_AR?8b`>oL4DMrW$TDYye(UbwdNv~O0!jL-aUBD5i!;~nU9DrF|^VUn^ z{XqC2(h9~6Lim2n5#NvaA%!y!AR*r`-!3Rt`F!A3cpisirD!C5BNopSJ0fhdg@5B} zR6-|S;O+ReHOW>cyw83yyu`~GU<@kh9TsF&i6sRqem;IY2(u~EQmxF5SSzkEl% zmAZ(xe$QCHFFGClKk^0wtm3a*M}C7{N}_3aYW;mQhkUhxL($1L*)ZM!#g6phMf^4E z$Q!jiF%dL$#HlqNTG_oN0$#>*69A=UT_)^dDVc0V^?4xhIR}cd$ zS9_KGy^k>)%5IagjQl9XfvG!wNSkViaT@{8*nrR5jMFkuTgBKgq)?J+Oon=B8T5?v z3!i+JMYV|ptSE%!7FMT^Be%7B%_V!q- zA$F^*4ULom71o+7Y;HUOvyV_)j%9W#V}rmGdQ#!3)?T|beaS6KItM{lugxZ!Ge z`~sfZz|dO1bY`OI3_|IAwc*VAbFlZ#51JiXT^J!&@SrKS0XV3znxG|lpnNwW(#4pA zFTr5q2=V+AkT!&>FEvHOHAmo@^nP$;lv`Kv1=Ts`V4NuMxvmaX$*|whQdm1$Ns7xEV%+Bn3z;@R=OvX7oR87g)doQZLTS zk-kt09p`McvzG}#tQBHWdP3LSlQuX{YH*&kv;S7Q*Uk>a3lkrT!W#X*8WT2NGcSywU^QX27a6=MTcY;&jG=1#mupLd!z(<@Q)SO_U} zr(&$XirsmfS?D@^oQ0D9$L+iqGiEB~6VEgph>s@yk0t|;CVgW=E|}&13c!m9JV@!Z zag;DV6sMSe{AxoLKte8omPm`7vM#x$-dc5szL;K&s~y+RaAk14@+p1&?AChgwiWf( zKXILWTfMazS39m0u8FtTTUX-x46bkC>cI7DTz|ne(bRn@e)FokBxF8ZiivRX2Tp`s z?!-h`>*5GtxpT*^yX%1wIsGUAL}XIu$*Up}t1Uqp7+;Z8Pa+>=h8#MAmq%U$3XVX# zqx4GsR|)aVnU(nOx5ug<=*RPZ;9s(JF&iQwF=GL-dZtoe`fh$wlacf`$E6fUGy2&= zcE&^xh15GBn}lEH>#$4*i{Uilb_{$8+e46X;gAcAw{ z;Jt*@9U8vh2W3Z3C_4cryLzhh%AO^SC|@I$N_UQmXga1lfB2r=ozxqAANG_8-A^Fh z)5eDTu{PjaJ!LJ3iSlpt`#@t0>+uGfq^@m_)HZ2kZF*IPwXOZX)V7~e6Md@_*ln?T zZ=q8&M!Yz`@M5gAPieMx0vtLb%_#mT<%HY1^=Nn7qx~Da(9%o_h}5C@>#_@U=>lDL zfp4*Z2&L5%fE|%$6o32e0{eA={dR$MEFfY@3J6FPe{}u`NFBOBhh5+@7La-&FQg#p zb+4U$ug<>L&R)grQY*xt$YqM66Ulp_2byFU@98o^)9n#Tz0Su0&wP<{^X-{6MTJ~= zhQbn3&N!}~)Rl}4Q~ZfYW1ApB>kK%B<~U~c+-?; z6mTN&G?t%|{-={=V;8%kh~k0t9Rm76qOb!46<}>BIc!4x-I`yu4>k3>C z;Cc$zOSpc8>pyXwYU=jmSJtoLx>yJ4XH>iBOxwK0j*ns=Iaf!NCm>L#uLQo5;}Cdb z#cE7`M^txE*dIpPTT67-8f}76XTpA-q<#uCC7rhMhECg3S>!P`pk#IeBE;hD7qN_R zZ8*wtJgJDAXdOM09L}MChhL0CG}O<0sI$QpOqN0X3_&om#S9!)`p}_8UnMwI>5tik z2fu3y4-S|{wA|7Kv-yH!rCt}&ue-ke+X`>(JSjJq2O+L~(s z64t8hcq+MTZ~`nm4RJ38e$lAkGso|K?0E<%>&Veyq~Zni#X$YA)K`rx4Dj-M(%%3{ z$=pl57s7Zg4sxiN2JPnFrcr2&Pb=J(Psclx^p>>K;g zt%Fa#^HUh7T=bJugQC}h02l_}aaoG%+)3;?a%W{b)Hs;-S%9N1 z^z*qp4WDp!B97I1brJ3nrW57niZN;aEkVs1y%H~7fdjeJBW=Rg2^>{`-TiVzQKFnD zerVX1O0BM4d(gAa(%tyWe>$EA4%60_EVt>mwq{Wpd`X-f zfY)sLAHy8ukoqn|l(=$iD_icLp_lEBgm!^DN3Ft%JYxMuP(d@bT#8{E`1$P>kz^niXuCUg)S zC(#4e6kuGC1$1+hh8_XW4mN{@9uC3*=M*v$cY}gM&4H+?H#wEVP3V2-r)V0{{gEmS zT6nP4wFBxJ`u)dCFcV%c`Mq%YW%#wtz@T(k4-&@ z$fNihm<5#5T@{%}-2TgD0!Rc=hd5B)2HkcQyRc~*PB84$iUgVaPMsTD8%p^dNZ<{! z&+Zd8;F7k%HCORDVZs5KlN;Me`a$&qIv}<@T(c8RkH0NPkLn(O&7`^Y=Sw<`-rs{U zh7+z)U98CoBN9aOAg=}ioX*K&TEyopmJ`yKq&4^}F<1|O7XzbvxL8Vo5Hfir!Q#Q^ zGgh(CR$T}Vlua+Qe;6z3wYrbWQzjk2%uX2uF*XRhiQ`2#W4}ogv|f|u4wub(90hEi zs&I-8_6Ptnp-3|U7^4A5V=W$gzp-E>r?xlS^_fyprb*CfFcjRS zLy!U8S$S|J16&fqCUVL&Hd@Gm-DDt6d}^u<{*V!_m}G@teIQr8p=k)KY5cZ8^bREW z5dyP8U!TZVTgkJ3HjIha@iaJV!?gTNFPrc9kelzevzPBstV0Nzqx|;b8CsF^PMiXV zCq*+|OK5H&8-o$YE-Y-S;(XyHK1dW)DZI_iyy5$5^go+yz~;>u;2ZzJ)Yzf9L+M-8Jod~Iiw+T#gkhXpF#1uJu z1hk`{N=~fE8NSke8FjIg10SgLIkba76sR$|cqgdcU`DG0y)25OOmps}p%lU-%B8gb)Ey0&W4S`A5uxr!czFUe5olMbq7 zi{t@E4e+Jc()AAGf;&|RQ&xKS!}9lWkF#mwfVBY>tZ}5K0R+6kDkXf76v4hUzG&dv z8qREif^I*85Yc{x3b@+^#*ljSWPuEYv2F@&2UhA@stuK?--BXN0O(U|EhUmvcE~rP4QN1@8rPybXHvI&qH+p(~4Wnxal(Is-R>(|NASGkD z?D!5}Wjg%*3t8T+9z!{_fDTt92tBFqIMr%`gKy*vz(Tc6A3@L19Bk>wG@BuPrK{C- zCn)pI1YJhPh{0){$jg>7^L@;;JjIlgdOI83R6Yx`W5j`8fTGRRXy-YZ;KBWIh^(B$5 zBZfjM1!AxntQoT{?DIkVMPCtE#Qo*IMz!Q)Qo%}xp=Q}CaK>!v&~J$#@!4jx#Bh?U z2023ZQ+%)F3#{RIYJ7VZsIm2<92k7f!JKY{D1;p6?DHZ0N$KxtHm0evRKJ8m^|}yxm7m_lAA+n9ln|s6Gn1oYXqy&fY^brs!G_ppA#~6S z6UtV|WbbZsMbDzzA6bmXY^(gmtppUt2_mu$-c8ue!_iYbExOdh1+PA=M-!}_>_ z>|oa*%Vj4%C%&m^&^u<%T+z&#TEYR9xe#^aJ0$!y&+wOtEWvw9*t~{)r5r4PsfU_9 z0#j&F^e-pSSfNjr)3^o&h9VI@GJc7_3!y-fr20ialmAptG1K8E6NdA4Yyr*s^Nibh7;*#(tu=nXx0FWc!O0 zbYJ2{4I>8zr*LEZ&{qE-iG4^oXDHo)M-n~3d2I-kisjCRlUOQ3z!NZEyGM67QTAw}# zGvyrr0NnZcF5|RN6dPbMj-A^6kn|QdB6pQjhZl-viMZq;S%{BePGrN$7wt^h zjF*sv=(gf-2}uLa^z{NMtQnY6T#uulh(w0AM7q@KdJtoQuY$Q+SttMD16Vy=*+;;o zz{dRm(zJXjMPMlE5c;FrGadSv5hXO=@<;sSY6Zk5oSQ?jW;aYxH9Gz4yjE`GXAll_ z61(_y;6=v5lG*Eo=d?>V$(dRRMlp&rjMrI#c)IRtN z$1sbBTL}8a*6BkSH=?)adN&_MorotvP|yooBq-<`_@T5xOz!XS&Y0#-{izHvBmCFf z;iG9(pE#eDV)nqac?L&KITrX2VNCq{{ao~Ql^!7m6L;zG?a%T%%rg$V727TSve z>kF#?7I_Py2?=>fCIyCbnR!E=_UKf|{&lD+9)$f%)M{ypsL-Z@;(!73BJ!U!4^ zJpzOb)vGr#uG8N~CZ!bX6H*3U^nsL{5Tw@IsJ@8_j5=tb7pG)ln;|G38Kh{%ru0vN zXh!bl6{w3jrVq~16vgh~^&T)WR|ofS;zDc+!e!a>i-f~Gkv`u1mkfeS3k`sSksjb| z^8FTsLg0$w`gwD`^#-nIk+w?he-1lgew`!lOG-;!+Q1V1k4Nw7>fzPOvLleWnY@Jh zCf;FADWgboPmDoQxN*jcIiA&_8g&zY`Zi;9v>WTrb6 z;0(ZXDN#K-0B9=cubtDx9Ebs^NZ?G1d?!kIg!eVbZ@gYCf>^ILJlYb@7WqOL^bGUe z#q^s}Gn`L2b_H)7vjpIc$jI1dXuFCh@T&=gq2OAD>mgiU$Mrrt{EyrA&x4PO z_WaBEKxWGL*k7Sjf1gBc7tLl0Mr6FdCW>#Ya0v`+pZ4kZP@nD3(qUmUQ^uGKewc|U zJiTxp5%#}8!dg-I&NEXW=l&I}r@eXUFNtD`y(G}oD%nBz0Y?q(kHQWlbJ9MK5UdsT zJ?c>{gG% z>N{qAGDJGWh=d}86hX!yxlQQ6ru1XflYpmbp6+pD#IrBISo;wv16qc?<)b4M=GKi` zR-|9jU9$N{bl$ufl>u3jWuW^0Q>X9+wRe!x=Pk)%b;0K_@(Wksp-#vi@DN5A!vXW- zd8va|_4kkh5cj`L`3O~k9EQh_;<0^hrFJvJ=y**sA>L|83D*Ye}9Pd8ZRRwz5ZyO*rdY~Xber)m!L6+b!CR!*7 zhfQ;6FQo23S?Jm5PEGW0_&X&!NT&d4Ug)C=787^!4Iy9wBLzgc&G#V+8&b2tBGk|P zD>*kcryZ6e8)@5my_>gT*kGSRpq}?d5vbMp5oxR7ky-*qT4ys)(Uw8T3Bs*;)^q_f ztmvRVB^^ku<=?n7}Du;~|v85Qk1pLYv zQm0ejUMu4WT1ABmQ6a?oLa0!;q9Ytk?M9Zlg9jjCFomok`Y{2xH9(ix0AW?%O3fw; z%zzgBD;fI{)rZi$IvGHEa!S16%ts{%8#emg3~{qRv2I zTKdbwP3~neu#aqOj4n2`1MiT1#zMwC!sMaxmMF8IV1JzqO@e!2!kl6=F<@smy=xG* zMF%rrOCu0+n#{tJWt=Vt05VRC38Q~#YrxH~d*)B`!;lfdh-_XXM=xu2C$fr+^B*$> z*S3=4j3U~Z$`E}D>U7~MR7L5**dy_PJ^OII_0AU%Fof&mZS~f@_&p!LmZOyV1(XW; zXEci<{lfO&=67Lcd3uO=P1$Rmme&?&GJ z;Zz|JEECGYB*tng=n>56VqCq6$4FzN;2=)r$qz;wI|^^cT4;SrzLu%^aYP?Z#G~#a z9xd^h zwAKJb9-fC$7{oiymoM{YpawtUR-#U0NWthC#)grmT{ z&D{`1*y35>A^mwyZ}UOaWcUwzSkSqxe#MbC${jUJc@1Vzp}gB2G6BQ6>1}HxJ`UN8 zKe`S<2R&Elv=zNWqAzYK;QCq{xH&lEw#4(B{el2OK5ZSz>ODlt`5r zXes@bg3V&6S`GJ+zD6a>xM>`Ol)OwFne3D;Jn^ud!DS z&nxZ;VCp8H1`v`mL-z!_DCIIJ84+kWF$U+J+A;lNe59I$%D#x4|n zz%B~QnPERTSw%~KHn!{mmV(KGl>z%{30E4{+{+hOGQi-?(p7UtQ`I`n9%H(qJq#ID zfV9L2{k$^e$eVI9!E1bp=*9w9&WLW~`9-DvC@sg^cnX1z&0UAvpy)8GVt3nAT+rg& z_M-y7qre;~a8?XQ4Ik5lo&5uANc}??oGL{(QyLU+^GmonQ3Z&8)3_58SC73jepIxH z>_}}QtF?(dsn`>ce3pTc3c1w3v6bWC=CBd}KP5nvFtRiRee|;!1co3P2LHg0rSVY# zEgnBG8_a`(#Ekck_O^tI)Cd_DZ_C9ZkoiSzkw&>SW(gGwc+1ErUx&|uvdc7Bq*EJH zr$7(YIL|~3oskAHjqbwifJw{SI-e7m!FACLgtc+49>Kk$8^k#$=HRcBBO8fOE~{0< z4DJTgIGSRpAe}e8%{&Nlp*J{ov5bz))Ar{<*0V=7r|BN)NKd=Pf(8ZFn@afD6u<2t z^EF~L0$*Sg1JT;HunW7^e zzD|}O2dHB}*$(Hv?@|jti?-$Dk0EpHM>Y}5rP?`80&E8VU3wvlBa%)#E0!d8oX2=8s9PDp0i z6Ob8(mFMk38!SW%+h4Drs#lnA^lsh>AQ?&Y>=*wg;O}?_Kl3|));jNwj>Yl*zs5VJ z%BhU0?a0a#a`|T8$_ZlX0oEdMQXq=c>3mal(Ua0A>Asx8etGPkRp2hQ zm<8wzAHYIrU9l7!DuAFkD|L#%38Sf>OHhYrV)Y(dwyV6GyYLn&Ct?9V z^$p^`^(y?>=qTdEoc*kr6Pt2%vB?@pr~&8#P?jq~S=zkx@a6G*#V?Vv|6aUKFNxP( zB>qU8?Z$@1qvQIY6+B7wmVN9uei8?*U@7@ky8x5~X-uW5zLSMbC-X@ypDZ zbZwvQ1fiel-t8Unj?;v8Y&?*{Q%g__rgbcUU^Qb7iKVX&U31!*%9!a4W+FxP;t0aC zqS%<+TgR-u7e`&`yV7gSQKeDynMQ)4IB-dliE;7lnIAmX6HYY3W=zHs zrbocU0uv2@3!{iq>ZxOFU(dzSGCBPwbp@pCF{8W?CGDQU-nLSw7xH+UOK@|7A*Ivp zL_L`4ZAqdI8_**1rX$}T$s$wd!kCdceijROOejrZYk-MLH4oC*+HS0rf;xWO6HPmd z*fDrbkIi3rYX~DcMGG=NPdg@OOkqibSj=4cG|^)}7gS9nsvvKoCi7@yFrQT`Jfz-| z;v`+16M87V=B^)}9lO(pvY=cP<5%#O@PTX2#%Z4dVhxHOhb|p1{5~C?iV|s@o}xbq z3Q7gJhp{wZ@jQFzJv6;KI9>f=Ji5y7bQ6`V z*!}`tH_m8_t5TSFu;!}Qo`-c|i1p1P6?c3VKhQsCqS;9{ofJ48)0`|HLESc+MW`Gn z{uN)w#`W*G+Hf`DdL9?tWa1|?ZZiH9yUmIo=abH33*_JE1m3%@{Tfa*+F5U1*H&+R z8tJaD*IQr1{VTXe@2aZdcCev@2Jsk zB+S1t-mff30Kb{Oc9$#P~+%x>RI9wU;bt|cpM@2)gd_39UN|$3leY^u&)8px1=#QEe z^y@0kdV1fT#L%4%6xpua8tmrA>K&Csx;uA9FSF7JFTxqj)uMRjlA&sZX47%3HUd(( zFJzekYY(}kV-BoHy`2vB$zWq-3v!sfi_<jghMbPY7Sg3Py+vb?VImHT6;Rt{Tn=DDFZ1BL6f| z$?s7KuH)-GR&+t610B_sv`Fp7T1_l;L)d6Vha1aGwOB8BM$Y2*Xwjh`YrjD@0(oHO zu*EeYm4Qw{^IR%PG}P!4i}AfLqomp^2Kda7Y<9GptJ)=>&??^#P`OSdiNeAzFx;pv zkb!flm*7MiX})WH9Y-grOTYnQ;7E*^5Y@&K?w|sgYLq}n2Zd;#gU~}Z?R#$+CKe;> zxe>$!xzc^hL6uJv#gAgu^A=JjEm}Hi zs}Vux$w(YTEA;1u@HnIr%UO{-{d%&JH8e*0S;K2GKIJ*t7f*sJM#j%*J4YRlWYLf&pAb2l4DBpD)lu(7i)VGN}O^Q5Z z10j%%ypn@i5Kys9ape|EaN2Z+Sq+qCg)v;}7oeY%oQ0yxW1w>Bn+o=C4F($a?`_gW zc)Dr-V&$=5|JL9kV__K2M05ar_fG)+m!avSRfH{v2eRKb`MU=Rp^KgJ*c&kxYYk<~u_B)RX}8wF&;eO&Jf zsuJC4TRXqUUL9Xyvv-X|2Fm2bzJa>%W}ycCVL}O ziRN#&O}7)whpwJvQ_D0dLP-*qV`Qd~i2Hd^p~VH1=}6>@8iIvb4yspf()eNk6MdH8 z^Jh_p+FNuv{+@6zN{5=y z{&0Z?Iw@SEj8#SW&#|aV_0Sumqkf9!XS2{*JZ(`J6;A_j9{cpYbj3^_2wX9fM-6wQ zI;=Somj{$L-A#D#X;^P_mQq3{0g4DS8*nEk@Vh|vR~}1Z_D;;bMDd-PaqMW>Y0yllmA&rM$X*gaUE|`1m+}1P1~4x6!x-nenvIdsx);?Y4nI|+LHvS# z2ay*9ZAIsp!9q<&OxR2Kpu_^@=yfeUn*JP=DTuk&rEX^%7ahP}wLK5M-*UtZcE1}I z9B^`CO0m*SHhFMkYa9_@Htv?P@UYC`KAJu1KQwycb#n!04av&8k>FIK6LquXIZQ9T za5+9+#|-dC*n8}$9|{uuY8R)yA}!Q7`|zXv|8V!N002hIUHNfvL{Lp#A$T<$MOs#ftf(g6~7S<)?oTKSDF{bv{x1d#gKjgm3Q*BoL@7(egucaf8^_ zCGwMv@|BT1n3}1$gw(5_V5h;_)YGgePNP&{6?}VkSjRoeu$4tGIaUH8R+3sD_5A}@ z8LEiEcM zIBS`YjKb94sD7(?u5f0@$PwdsnN2MpGZF-(I#PldyP!5yv&LrUEf^U!PXv?CY)h$$ zmPdB-@f#u`T{;3y=s~6^*&>Aa+v{ccWG2r_a1bRLv=5kbI6m+G-?%q(J>e^dD4h*A-gg1RqjwO66iE$h5^UOhglPEn`L~rA7Pb zYzYGRLn~*fZ`dWFgF0RSNHS&R7KzV@u$zl6GazRAruv1o2{#<80 z)CYNMFdV}A1bkK;V)?Ex^3r~Xl1;WuEUvZ(=OkUge0G=?rM5ho(dK=^On61QEfOsk zebx5T>9+M0F@9<~;NT%O#-gD@ZqN%6;4XX@i&BoI+wmpb*}U}feEdx~bA zU(s~}JE*ywm4*}@=*Lv5;p28N2DNdO9s4C_b%AWomCX1+!tThWFkx_bBNLdsNF=fg z7N~4gkr1#`=&{h(JgqmWuiqgfj=C9z#Y3y?9XLfxdkA22dRzZUBx9;v+N$gsv_d5L zU16z1=(DJ4lFwg7$n!IoiA6gOL5?Jsv>XzDH;;0;>uuj>C)z8%l`?WG zFjrepnK*eHHjon_tms?~6h34lK-DxxhR~j=aFJ99SEd11M;7m5CDIiuwt(w*h(3s( zjb0`js)OoVn`kY933^9_0rxgWvXoROweWQXkf(0<~0F zgFd2h%4%fi$sTA$PWJGygx&1C;5K@agpu?fmH5dguP6R__rXiAH(|AKfaIk@_ z0Vx9cLEHcN97Z44d${OSEdJ+k@>pbBJdr;&@{8E%JhIat%qM=!mtZ;&J)8+UEcgS< zU&QjebopZo2*1InjtLK41n(|l*UcuwwyW3)oI4;VmPMAZo-dnW$Bw;Nm3GucmhwfD zevztz{D*&9+e@|rLQf9kevB?eW3L}0oe$W@65|j@J2g>L_HAodVKl%$C+!vf`P+}{ zDT6Vh_VN)tLwS!4Hmxrs*e3M;u#B-MeJiS8f#>NPkhq(P5E4-)79+8aiH{?(o{5h_ z>#k{nmX59P^})y%JhRd86;mHpo&*shSLO*>U?#+=1K5!(-_iv!G^&`4ygS9us^`x( zbL!kAhE3?o?YP$Ax)0Y)xaQ#6ipv`1aF)16{qO!O%@d2BU*dyqGmhKPY4tO~a*nUO0YY>AWepS5}GDr7QY&V}WGWG^1>p*|9vgQy% zY++Zl`d~zvszCXWBk;uD>KEQg$f5Z07kKRbu($b7&>WKTC?Ov^NVf7j2=UaMgigG` z+pE2szb*NAGynCi+kSD7Ot9ld{B)M`hz+V(sU67ESxU1?Za*)#Ji<$E*Rlq4nE!I! zz0|FeWrm$)DYH~=`XhEq1gVjIAr~gXtW$+gCIA*stGImqV!zAb#~EGtET$h^_@9Y20uJg@B(n=1P{6 z%%EB&JzH_GekGs9Uv?!V(Z+XBZFcdufXlP7HcuGV0EW&|&d)*;D+tn15jxMwgH$S? zl!;{UQji%`6Y}pWlI0PQO#C3iNSH`ni`pXDqI&+U2NT0Gu8lc7u3eJxEN09xqrt(8 z`HU6GN~!c!cR~^=2lHC5=G%WHpY?pZeV=Y$GamHzq-R^AeAx;__6sZ09F#=rhhUG0 zt5DZv`MRbR(CON`>w1po>$)jF|am#(KAmSj5A&4YIy?nIV{HRm4{W(*ySN*uBLt(QH=Y2tF(N ze`tFj_^7Hge|RP{NiNBR86bfmL4rht1}z#;V2C7;gdhYGA_)-*+A1AW+alZx+7g&} zGi@f9Tj_7L)voTAQd_&*wRUS+YAYrLli*+e)uON(EI+;DjT$v31BBf7`#k5)WI(&S zpZDE2pWM0Up8w}L&w0*sp7WgNtYKy1O*~q#wlHvN)MD#MBEr|@If%du>m{(?S9k|n z!awk3+^1h=5$Bi91C|zcY!K53j_LG)zTsXyV~H4V;m{pK6(BxuyPO_SfciZBI-uZ{KrA5uv>Vxm zVTDE_G2iLg#&@t;TjPWe1qCvx|7_Bya{qzxZ3}12#_AuNyWHRxvHXtV-5(h5+-lUh z6?c`3dsWuj<#4OP3E^y+U@`@1`Z^TLAEXt0W7{Uh+m%cj4xBGtUmwdOGck`Uqb^=c zzWFkMDzX{Xi{M>IeVyTJyj{g@G3O-)H-5zq4rDWKJ_{#5f75tsB4a7sZCl1RT3z%gCW4WDk#UZxWfJ5_@flB12 z)3tb0fzGIfz08c98B3@*iU_dBsqFyri*@IHEZD}JN*Sbghs8YxT>ca?XUOF@dTmTL zzKwwejI#Y>6@;AI5&0Q@M1A@5NBFd7KkRed38b_y*vS`Jm|MD%XW58gegg_$LWu=B zUwcWL#k>`of}K5z#EMRf2F7js+9Nh1h`dB^S)8nQI+oEe~X zDiISX-8MoH8M7l~^G3g8EQAqHtQ!A-xUrsq;t@dt@P)Evljt6}V*r2?*o`wC9!!uO zD+Mk=qC$g+_1XyKv2w@W!IL7C#jRJy6nd~HcVaKaA!*YIbOJeRVyy*tPZ^QGUVYaQ z&Z5v*%8WgfEF8L>$b<*oNMAaAX^+q^3^x+)(P^zG85y9Y%ay^^yoD6mLHCyS!T=}e zV1R7KYHOZdZM?RH+5jQV5v)X?1#d*AFOWw_z{eOvffgPP^i^fNC0MP!G^?0bsf9F?IOK_eU5rNbg$p(l;z0k5V|ez^ zdv8fDlF_Mg;i+Yi1DyqLzFaxkc%Sj08+mpm)4J;!Ae!;xd>R<^xtk_2EVLf(gdK7` zK|G5NV4;QQK0N>VLXl%Co=t7I%;8{>!`o5hxDwB`c)W*-99!{Zy;$V<9-b`3TY~hn zk!~fPAf7vst_|rNh#x?lIS9WK&x?2*IsE5L67Tr0%blE(laq>XX;e;HdX6V!wAVK# zXRL@YE+>;5Svli#awgZgX{8m&|+q!)4)AKvU65#g8=2M@v1$Nj}fed7yxcI55=(sY<`Xg!UB1M%nNrgXK4J(V0!>8)Q=V9A%-U3 z@4ZjHk}>^G%R^SWkp=DflsU(;*Ebk7mo9FQIc zZRRabtf5#GV7(g8*uC4#CC)uDR%IXuATsiWLXOycWwIav-xeY$HWSf_f7&$3fp`J{ zvQLr8Qy}0Y@C^fe*!ao7ed`DXLr=3a{s4qZ!}#VUX|fX1_;53}Ks%O0?uyTpB&z=f zm&J#AsZO@~?wT$>a7TIzUCDF^m@H+1F(H?eT(ra%t{%`J;d&YUIV~wOSUbU9 zJq?eMiFW&HQGkVw4^hA(go^?Y+b%%(Q31k51t0-JsQ{6d3&4erW~IpSB3F;9JSCo^ za8Z?W*^hF>w2OQwN8#csb0cF_wrMx6sOT+6Cp9=5cGA{kLr$O)pJZLo7|UcKn=Atc z?to{2jM!5oqk_9523A-UpmiF_@_&zV19u^=(aw@f^fK=|(T;WCUidQ-{&OB7p~t*6 zAXC&Ie=%y1qEZLScGQ`HT@>}3mqrCq4LnRyY1}LmQCa$-8t%O$@emS|p8+d`9NDW5NOf(S)8u$&xICXgps&lG{ z5ucL;iE8*;0=>X842ExGN9b5Ujc;rn6YW*c`N?)*%&<)ld~yAod;{Li2Hp-DgJ?{tQjvZ+;KZroM79&kI8jz*{bazB%=rhddhhR;d z7+x4!#gq#fJZ$Fl0i;`CPL1Y`DBTKh^-WYfEn$+(o6TeUi@|*hKUUTp&h3lOj>PBi-D0QD%RHIO<~aIIb0R^ zx=MRvZ70jrU!_Zb$@4OGMHlJYfm`Wy;&LIJe>{e{!MT%>D83)B&? z3LQBZsKrr1K8i}F%#DVmzzIf3Nc7h-a*$wSx`ZBB+IVUngOCfO zT0+kRTP0*gbEPN`^A(*8rZzBaP$3tTC(LEYL8vrchdnf^r@P9yEg?5i0OUqcKeV$V zYY~(c8Jxn_A&SE_Fa433glZfX=!wClZ3Xuff_WEY2FHf1HOj~YF6UCA{EH*AV_JOT19ituFBBFlLFcGgpYfO( zvC?3Eh0Ne$3y2QaZe)mneHm(Tl5#1$mKJg6v6rxko4_po8DkUsoPiY>Zai|&CNW6& zmXk*Yt)QT9N7n&R4C9|~!o*3%ZBAbx(-A=Y#0|;3evwEcSIj!oHoOx=vl4Y&8kh--ycwf zdcJyY#nx#74^`0a?)}$|)VwR1qM;7JCtO-WA8ax(i(E~G1bPaEX;ccP22ya-`4x9y zY87@`s5ya5eEN}^N{fx!lDRzelyBbj%K zF_J?D1{&lf$kQRi&J2sAy`dkY5ulPfg;p8USR#sHFNh8Je%^S0ghCsx(>RYx<07~` zW{WwNk{L^VH`HsHSM7uN2F7JLS!^{bO3)waMOLt9EXWkr2KugK@)A4Qok`aL{TMrO z@0XC6-)f8Z&)^O!c~)Q!^$Bq>+pgtW1m?j*4^bYK#-Sq7Nh}qaBy@#wffRvBC`i)o z1!+Xa05R7dxg;io!6Mw=^fds48xh6v^DF`v7Oh~!_s`<2fobM7frV5F%+|)I!q;vV zM|>zAF;K+Ope*&hxF2Cej5c}pQ1(P)$09T8atsw#b`*BPFvw^RKSX$j^;uF&X@9V> zf0R5Lzqzu6-#od(yp7V5q9om}0=-rmj#19pUmD$(1KxwVn%g02E|u7{ysfQi9z|iD zNw>qBAx`^*6|e)Cmrw^XEkOi3vW|u#r6&>^N3L1G@~+THz`g`cH4gndIx=(`pX&4U zn+AKcOzAX^1M?SeGp^$pM-pus*ar@{%0n6_98scF-*u8*{dFh;QxykR8ee;cG5|K8 z;6muv5idliic}d_#tV6Z2)%8`kWLxt`1T&iBBOcXM?^I#hb0*QWPwe6p1ziPL+=s} z@PYHu-q2t0p)=-(Lp=yL-i95#aOfhtuQChtTAb#hi2?Y~W^puXk;-xF{xm8j{I z+STnpx+RBg@8iNU9wDpuIIw$HX^el1fg|klbL1*x@mB=aamjZ5lyp%yAK1v`2o}~> zJSXGeU%B`OXQ25$5Ew4k23_qw&YmxziTnc^6`9LzCOBNBKnF4*iB6ud2a}M*{JQAV zg$fpg@tbe5P6lCiMcig!m-7yH5$w4vRiI&c1gyYl`4t15awbDQ zPvc8mb-){Wk=lJ^UU+Gj279KfRGGPpWYLj~5ro}df5F@2NPru?Mj$oxY#Y__aV+jdX zP73Q31cAP(G%aq{J>q)*P;g)APU z8q+3#au-{Gtk*JVzg|59dtGvsP*&3xL*)x}2&!T;b#5G_nS5HhDrdDpbCg&ZLFi6% z4dqBecXBhF?D0qN;WEa@${=k7FK))8L}X6}n&0IdV=UJQ`O&zfJSabMQ{LJmh(14m`D(@I5+CTt(@bkSeewW#j!Hy6B^k~GCrHm4S|tuojP!&@laWa zmtY%JpPH!6X|E=!0(NjxLEDD-OhKJZU9T2#{y=(e9o20K&@JCqz^8SmEn>w?HvM{v zjF}jh=#teq^m(br#Vim)v--Jz6VVVlN;S-9PvRxN-C=SDe+iz7`#ZMSwdKpeZ?V|* zs$qgHI4|JkT5J_y9@TJ^5PaG#;>*?7H0%Z-HW!OnJVcH4SKF;Z{e`64_^I#;?8az` zk7Oc~RmR6BsNy~vm=qbSoGYlWc*xqYOO0#*RV-*@8zvBCiSfmn+JX;?>GcA8aN7Wx zz2&(U3NMTzyD+Rx@V4+5gx;p^f!zp*DZoXzuSr~i=IXrCS#A6u7OMzxBZrO)WSAeqyW_P_9xT1&mD6DKSOagCK(YSJP0$5u#wLjdX}2b%D>s( z5K&N#rxa~5kR`2%OA_2!xY&~r^jonm4E!RYfR-;QKq(45g(%{5>^DRNkxh6pE%3Egx#(OpjvpY@wh^bPOa` zW^R@7$T7kM+;T}|B8*cxc6D-HoY?kH!{!)o4oy8Veh z=`V5gLGBGUQ-&|IpPm4%A($oowoU2 zDSTfadC}RI-=H6jC4b?u0~Dr+#0-;Tgv@}d(;5Y%%Aed%;w$JBi(>>>E^QQu%;GDt zw?Vs0IP^;6pJS7KEZXXkOj%=}rVl8)_VY;aEnZofG=+R#CHNG>Ip-)zi6FAcm0R{#kPdwh{9)fM*NwnA@ zZ$VWt=9|vYd?51uq5xy17_|Qj0*uI3;-7gFNR8gEEJvj}ovfxw$7?{%q3Db4*!zh& zpq+Sf5WbkO7qXo_$Fq8b+5_w*6CmWt5k|x_k+D=p90qD{9=a2Gz~11mFg{A7BS%#r zB7_h$P5DX;eZXqRPo4Er=S)1#onwr76{mw+++g#u_yFG}Zg|pJ(g(rIr@y3VIFr*C zx4)K(YC+5f3)dG>cEIsQ%=YtiF-%BC@;45li%OebqYS{t^}uiu%c=P04LADatS~nW zO?ksV#qMLQIQxo~SvraR%6?!cJuOZji_3C)F(;gc5<3T?Vs!qAC8B2`Rzj-X2N)Ju z7F8K@Mru#c*h_N?N^5+DG6p*JR2s*)(rzR2q)3*yWTA5sUjmc25!HqXDl5;lI}W;^ zWT`Mdn;pUKZUfe(#veqIuL-`6ECSfZ0bzsKpyLxbY5{uzq~349hdIJ3!2sMoIo7=# zkVE3$D&xn(S488W_6$ev~%N@EsN9AD&Tl;r++5+$C5@|6His=@OVsU;q%G9i*>{LQZBqZH}kc%=MzqzTCB zC2TVxr@@nx+KNEb+4ObbXYt6xS28rv92}@Op13SBjp)EL@yJKxk&`12U>XeUj|c6G z2T}Ex*)32uF476lEiG}h*F zCxh(rt`IolA0MU!ESY4h0yd{kTy&N305iN`)`z;#2h_}no@%@ZScXbP8=k z2}Dz{=Y$zga(YAm0^kBKV74I#4ZbF!mlF(V4-rm{=V`zf2~!@hI8lXl%!51I*ApNoCgfX_wvizy`X~jbMaZyM&`WlACd0}Ic500ySpA^IfZ*S0OXgqEmRnw? z@_mu#x%DWcSCj_K@0&y!fcK3-33m-GKm!Ft5tGU?W?scLrHLLlJM2h;9&c%HYk5u* zozL!Vxg`gmRO9_Hy)P6m&(Pv30j9I59tU6IdYJPP8IOGG84@Y5(chg>vG%rnN1 zpTJZ%^$_@-f8+tkiR3$DR+Dc|Kov2M6Z|2se30hx2oG-T*fLQPoE8}&c|{B~Ga*G5 zrGWfeq%dRMMqM~5@C$A@H!PO*4@E>{;BnNisl&4DZD>+a+K=dBUCWo2fqlVIT0)~9 z8u-Ay9<5xe5=#l(6mNJ~o=9SbS=f9%jns^u%X7JR;hhyXuz}cKyYl-3J+YW~X2*aX zIn@CXrLOSW69WNgpydPug5Ay7pztpcL`bA zURvH^81p%67^uPCuF;iDi%60+VWTZ3K*9bpmQaw8^x4`1H(*1AgeQ|k11m8oK`7Yk zDJCfdE(j+2!da9Z>)bl*t_k{)aA! zL|G5DQ%uQN;0Jnb{yl!aML*f_j?4mW7C2RD{J_qix;WQ`Gh00{A06MyFuH%r6DZA{ zN~!Ty8#1Nyj)~lF3}cR!D^?oXarA`5^UUCDGUCjCKlFq1vvV&)7IGsiB?g*5eh zD2%5RtTLWM3QRra+{S()k$F6epzlfP;+ZTPVS#2suYG@WyHhbDm5q=vz{5t(x@FC0#t(ZW4fP)s9n{VZ%t`NUWjn5Qfo)7{(15`r{EAtv5 zeK1zr#}~GaV`>sRmYinzMCVdM*6IHG7#q3ygu-9ObFuoZ$-N?Y>N|`!99Rx+gQq>r z>c0^YF}5J8A(J0L^j+ka_-RNDxS{FHnNR15l4$334aoryc@x3##=R$iyk(L%QH>}M zVH&ScxTien&s-D8j%9a~UAq;@MwOAqEhE*SSZrupnb*K12v!|fPWzJRwv4kF6-**$-SH0FfvVUlAw@zQFbFEa9yS+QVtA{%)pP}bzd4Ra=d}(T|6J*Igcj= zRT+!tN<89xFQj)Y^^Iw#LB~jFr)_}hge~{E7OE2*uAaY6xe5^~jT?Bpk**PjrxT1J zh}+xt7^FkJyfHguK9valn0=l-RBiD2O^rj;z@2%vLtcx1nC<<+Z{SJg?fcQ93w*To zCcF@bARy0ygPJcdCkNUtf6d&{l}tBqJPP)tE1AV)h}o4Kgbjl>BsJ^p@a9-J(kF)B zY=?jUOTvec{z^N%B^Hk4cKRZ#$YHl93e)641nit)JG{-E_yko&o2H{kU<%sQEZVe* z+Z3fXd7FvklBIJ*@-`o}KhQRB^IQ0cMDWv3pMuojuC@LN2+$wFWzUq?EqIQp{WI@R1@$!cm0z6%k&5mX@#XDOZrJpFhsw-9@|ox7NIyO{aAgzFN8Jt`>QMyY1D88%4E zNg#~np^sK~B<92DX-#SY^Gj+?U$~2nx-w3V;zJADhgf(-x%uTnH>WQKI@K(*g6fUBkUXU_5(SKQz5d zW0Ph^u0E|Cg@f#Li7S^W`|CxM1V*4$&_5&r0DuJ@Z!cx295^^!IYiT9&m8DK4i8fb$JD`v7?36I3I z7~x-*mJn1lYcvF?+?7TIs`}s^QN1LnDJ51x?J4qxKE_cEG+L+y(OF}N6WILbi0w>F zb_5380Y$msw29I55@X>Sz6{P^@*8{Cv#j`7bX0Q zUs-2QW2onsqK!NQb^T%pbuBQnpD}YkiZt)}(s%%yT!wKIAO3w`9R5vbXpZ}0mBjGp zBFwcW04P+uSieM}$doK}n+ z^bt9LnG=wMUYi^kL=JjMTn@Q;0{bQCVNMNL4kCfrhUlXnvHM3Dt;6EKsqt(O-aB(` zhwR7A5_4xSm-k^}JaHkShUkq8ZD!d3@2yuC+y z49z4`GlJ>9+QH=UujC8Ut$OJkGVFd;UzD=~H%c%&J$BVmt!n8ll+OoZoRW!$CkjC?=^F~NwL z#X*O}$VRCFa3qGh4#t2Jixc_vmt|m#OeY{?0yd04y%0-61^&O!*Sz(A5{twKYx;jD z8C_s2HM)6*DVN<>-QzyRbQe}=))1u=F@b?hNFXVlxCMsCe=fi>1B(~TmMidrULAg& z%C~@p{$x6GwPQx&Nhi=Y_1v|zYeiv1Ej+u)RxUJvBwW)Rsl~!3a2J9S4r#46l2Uk0 zg9Shq`=d^5c7syT7Fl8mP~Apy?}1GF-c_Fa`uFYv3yYDo0A{;*ml8*w?iI^I@XF|5 zhd1N}xYfcuqy~!bL+=FWbSqP|D&q>?hk*Ta@*?H(QNm--v+#hRXfM6*M_VZZUl{?C z(9iJ13@*HB{ByXOY3GA;3&&WpgjGWCrCGtm0%g_dOnWX3b%`U{9`Yps(Ayl#8DV9n z#j*hg5dgR>awI|;L;ybC18!JmS0)Omal~ABW5I)8z`(J85q=`C5cZKeIc-H_=H#wh z;0=9){1dt_mTAct+RMcC7?c^!F78%Q6`=%8=PWPjyvSI}=u#6PShD*$YwtrRP=~+U z8@sUeh()dqMVu`Bp76L7gny?u&i)s@QNr>x^v2msv-&%|(ernDXxsG1KX z!e=i5Y@TnS!I(v7QtC!U?Dsy4Vy700}G}xtIHr z^*VSRY=^UjL{_7SGq}Xq5VOGSPaF@>!%5~z;vI2!R^sG?Ol!66d6L?3FR%dZ@o9q{#$|suhIcs=$hwF&iXB8ZT!1LEwJ~YXORy>4g)0)r9SAaf} z;SVB{77Be;f50*`^aqAbNq^v?>CztgobB$Rm$DCbCE9)H=mSMTfZ>R+b}JjE2`} z@baVXTQcJLcDl_E>*?rvO|7L!#x1~itxv}>Q%muXhYRBfZ!KD5{E5dxw$`q z8z}Rra%zpS2n4vUrlAN$W)`%C%cO7$Im2b1aGBe((g6na}Pi@52*#{}_WAJ^6@;;2b+i}v&+_fi2P;ST! zwbd)B`)QqFruaJ>Q?<^$6w-i=hSnKq)!qP11%=w`l&KBwn($l-Gw!=2Kx(+ccnLzn zx`M;|Hxb3mq9kGW7_}`IwJs#%Sld4+IQGXN1s>EsZI33a?@iI%p*!x!K7zYXjao7k z1{Ie&%2L~N7dM^jLCozZ>N||>nAC%Xgdwz0`4^PiL4dQCx$hsXjcF~(bGIZ}PVc_9 zjwBQdaU3{U{pVup-b;bnSjfcbMvke!v~0YcRu7A6mJ!6MXP4+KOKh=cXR zVn83+^#Fw+)Wk|=C$1C~VpIz&z`pxIt9pXD4p0H?|3L}jC)rdNtrIz-8E)e*3rUxt zPR2fazaK#z=y9~EsrMD+tmDABm6eSOP--hH6RwR~=?5GA$z$)qQ1au$z=w}MuEWQB z_!vzeQ}OXGKGNtT6CXYJkmw_Ij{`5WR1eKTb&;tLnNq(@BJhmes5ZU^>#MAXl-%H4 zYvQzl=>pSIQ>!aIFHjaw;%~!V%B8;2`yT)$e$LZRlzs;2=TrK@VforZj4`P69?HQE zDmH}=#|MT@(9y+in;d2ea$6K5x5)s2Xy&$tmtMXqQK2pvd59qLctCu@zT5TqW;Eok$<4GsGZ_2uhG zii}KZfqsyU__RhzYuAptI{m|2C4bcW;Qbh`gIzrCGutCc>boxWoV0o7XHUX5-^tM! zAYIQ52 z^BX+B!1Fkshw<#fqm}&dY`Em1vv?bL8+iBP-HUf0-hFt(Qtm_jct`P$;yr}-knYy0 zYh8V=Xbch-HMkGY5FVcwd6!D{8xD8urq(99Mayj;)bSE%02Hyfx_teRzJ30X4gb6m z_-9=F?8zaNyUB-Atid+{Ep z;hBSHA)XREEAZTk=Notc=N!N}2k&gWv+>TvI}>jo-afoNczf`c@Rsm)6nNjlsCI+Ql8)Dt5-RfQxC&@r)W&TNX1`&#-5IoW?pZ+^FSDCE@6 zXp&asuIzXPJQZz|mC!t1Q;Q|%_B>zuUon*B8-C5RaeC|M1zu%!+0t@(a_i{U3GYK9h%yJ>#^c&Jei=QYSYJ+$?DQKD zVFjKNJPYy6!7~d_9-bULz~lb~dc=^hsKG%zyYT#s@{ZyC|8Mljk%dwOJ$fed@6sa) zLFfmHygM82d3f%?6Qd(vphpz*e@2fu&saY3QTt!fBRlVBQU0It9K!Poo)dUZ<2j3G z5D)t0e}NuRVVdQ`Z#JG8covdRtY7}W&?B1{p_jhcTGwH(2KBr0puhpnQ>xZZl5FhO z7#}Z>YfW1`?@jq=GmeGXto?`SCu_Bi_P_aR(obq>FVIR6?7(2b%b4fRsh?Q1Xneh( z6P!K9F4m1o&egnpJWemCA~n5-K_65O)o)k_7EoI}H1DK*Bi5B4&pRz&13u?{tP|js z1+UZaN`co2^T+iYM2!~@BVC8S_@a0X(Tm6|jHQ83bAZuNV5?eEqs87`|AK43H}V+X+Ir~)qQwnP|2y@KSI?hImVI}m*HjxT&s!F_=QK8T+3H?9trL{ht#z1p z!>9+yG#VWRq3#|ixy2cjy}`TFpd8gwDz&U11vzx^?op1G^^(>Jj#{r6YH$&mmMUwl zxl}P@`He)Yb3x>u_ID~N-hEK^%)swO@4kv5z&yQuL;boK@kakt*MK5tr?{){fN8Oxw7CGIP-M}eepXS5mQ1*zVvSVdLU)RI%Mz+B2*8a;Zh~! znCYVOrNJ|<@(^;2AtQ_?CLo5r$tF zp9ll=8pk0hb0jDmL74#Rq)UJ*K#B^ldSE5YcAezF7+lSxZ!%m@0j{5D-2~SkF(^iW zI+}qh}n)dQ)6Zw;PQ-*RlY99oda)Kqf=P#e(z-$*SpQA_I7oLE@) zNLUWSVrT(|2W#^fTKH_Vpz3E+vk~e$dTI3uEpiwwvg2rxX`_YDMvGNStlI19H^ecd zn#!`#kr9r|C1m)7y4tK{bo5bAAf|K~Iuh7232Z(a7d3{ES+3Ik?ttW{6|I zQ223RO$esLSUQ)L;hi0oNJf$vevHYG8L1>gB1wsd9s}n?NYzcqW@^>fEowm#D&1|F z3(%A~HO3^=uttj-lR*}!246$wND^vmOh$Yd7bpW;C#P2$$ApWr8|~faEDn!0A;x(h8Q0OOcYI6g(uKIe z3sIFfgV%tXfpo6#@Ha}zCk3a>K5MQFI)(Z}K7>X?;sCLhyJy=~@Nyf_DrJeu`1$B1 znOg2P?nd27it;wdI7=kByGSgN<)2#wk;1k`HO6iTm}uEQr@n)h-PaOwpk(P0>2rNf*=!i3nwTrI`^LP+SepdbN|{CP*rBu##s$RFPsI(frX^ zyc+WX_qs?BJ&T1Z(!x_R4t+$P_rNnIHSva$K>rIYb-2g-gX3rzMSB>lUhQOE=#;nl zAK_&;Ue1lih*&$0=@?W(^iz2(Jw2@OB&#tQ07?12wyJ{nsv&jsdQl?&-4MImGIJtle z<)lnj3#m6DL#r_k0J#BAZzv6UMeab;wXO)6Xh45>Lu1J?+_TLa8rUicKy#Bwo5_Cc%ph*#d&*4Yfx8^f=JG z`&{ikZX0IEwAT144mQV$nGqdJPf#VGg zVT0EOkhl3`eAF0^71%&>qfGN=*cbpzru{dd2753*2569=H6jn?AdZ34T+YJ*S&XVN zegsI>)pyhw)8L@tK(wH~W1uXfNcPhBpM$i6C+q4bwP8N2@4)O2LQ-&wXdf0+XI#N^ zNy<$de=Rv-{i;mTZq7$9@0ea&NoiLhEqcV?1xtn?G(mZE-bJE$sp?8kuKF^lkECwI z>AaK;81w5ouyDj+fB+8TreL7pRDm_0MW8z>_K=WMb3cReIS(g<2ijG6Hi&@Fsdy_5 z9D>EU5vxv~yu`eMd>zWTf%YVMG)&^#K}u43w9L<$ZT~$d)H>uOk}a?6s9u9rB`COR zTN?Lz_oX&K7WgLU8<;No6l>#FcQIRKl3h#9W8Qr?EmeoF)jk5ihVvCSeHWaH<>7(& z)_7E8kZyBrn{eX->Yt&z|53la3^xtkwA6fEy?CwGp(G8Sgp_-o5J!?S21s0CGlajO zAllrM5XjcbccZ^1&7a$Y54p}b!#%20icm;i%fNE^LZ{@LtBw3#WS~V^=>An$c)+K> zt8VKAEhV^cUZLWxt%m6n(KDz|vI?R6aVXdin5r2}^WZX{UVluSkkT+tOPQ2Sj#52Y%i0 zLTJ5=p$No2Y<>E4@!*@QT1!0_KYe=Xyi~sB4&5{aIn+pfAUUY5u4x@Zf&gsB+|zoW z6Z2`Sgm&^fq9?NngY?lydLFH zYq1MVeRk_ch{WL`zhnLm$i8kv>%oYM@vASj@X?`l(J!y>t08Ut+jQ+sk~j_)w0-*Y z;G3?OwP8^A&wkljW)&P>u+-Y-mfg#iL1DWc>XvU~BV;HrT5AgCr;G18z5P-lY4I&y^1_*%-uLD?M z1F;PRHug#&KrDy78YqOIUaSUw4O8}Cx*Pxjp_#tdgJDV?cS_slo4>)0eg8&Rc!Rsa zSzTjX!4^t9{tj#sZeOR>dNvLo#IYPHf2mt+;HGM;Fbn0sIdISwULTcbYHw(7x1Uc| z|29R-e1x_t21?#?2cgV!)PH2lRlx;mipwgEE;c_II2csMUcv%J+6i>ni^s-MX_O6N z4lMOJz0G?Fl(j%yMVh)M8u>r?%x`xcBt5H6u`QzK@U}?%doIm2P?CZI8|Vz7rS#h- zCp>xcGVcPar(yNWz zW(yt$3|KmxbsGoEJd(3kzRM=wkO+oHYb&#tg{<&O_YPleWwp`5CsDB9>oE(|3t-r^ z4((+E;F;LIlJ4%t@qyek#g2g@cdnd4K&&>h7?)5vskK6Ck<3h(GAWfdP?mG!Ss^%Cqwkkjz({WIR!33}KI2w<+18gh)EBC|U6 z?jeV4qlHVh6e#QNoIWX*KI+w{aQdhf8P7?f zl@UvdGsF=mr&}gp8@v#ZrvxwDD~}0Y0HYmAb~r{g4n@x3jYjw)Cxs(7@;V&Bn{QMy zgFBpal+k5n!HSDP^h0DH#kl(r)KN$frQUtQ;oa9UP*Myz)I>U10!A0ms>G2shokjM z42v?PN(^|KGC1Ukd<$=aYxEo5hvuQ{)#%+`{l_%Iqieknk(Q{p`C;-mmI%rYkZ;0s zuWER_p)0X!-8fh}G+RwwJgjg@3At`A=uaRv;RfWcK%WWL{3+D0*g9k~Ec5ouiO&p!+G*l=UN zSAP{D&}Rc|9g!4DI#M4|Fx5l$8{1HmNoV>hkyEuOz(MNM91EJkmeQuSK{*PJs8${gS3Ii~VJz(@#L!Eh z#abaNn6wy6<017>X488?=4W$i*x9aV%D&g9X|9*eG3Bp{)4DGIAKZaM?P z5y_$!8TWXbk01-xNcJ{A0S6%1OfR{LMrd;n;9d^DXE+Xq?7L_IE}6Rq-{!*n_M_3r ztMCz+!SI0MsXz&sNyLdj7pDIF_Q+G5ED8!lsWJ8(1EoVjbPK4bL%zMW^p(!i4`#b@ zf#GRX3w)SqF12G&8hODe+_g8Cd#oH?hoIa#dDKRze{Kv*W-{Jk*m3VhDUL`XH4GSs z+|%$qPEJP7LeJn^1Y{@xn<@Cho61()>fL9-az!1D@$(L2 zFn10z`!m0k&;)EvX-|6TS&Dlai1~XuR#6(YDxko=lTAF{I-R-+>NEo-okiPDnA^ zh@xji?D~HFeru!VT7rE3T)D&;Bo+aKX~zw8BoG<1zd;-zQfpnS z(6%FHmR%J~=_BToh!2%pI^>oUYe|^TWgdYxxTPF1R+8<)yN^I@r+CDiirF-DAj*6S z7Jr93#?LHvymw8p!!@JWu?o-k@jQg53(q=)VRpueyqH!HmKQ=P$V{iY8uK9-sw24` z2ELN4N;uzX;nGuHV~fh~mF z)V5xtvISx#l8`^ zkwVdssw!Gx?`psbTWf?^18b4+`k~g;g?GwVEZi)67h+bt3SIg~C&rmca@g0Lru4^A z)XT3WH8^i;UFuxAphFlT@*fv`x%WVu8ohPrX88`)$d^l1W1@VcYK)e1%DtiApg-oX zAM%EXg5p3eGQvH5x#oYc=MNJ-edf;x+KZG%^>C5-C=f{1{}0X3cr3C_kL4w{Y?8 zTe5?9pm@pZEJ{w(yqLHndTzF_KmF-j)8Wkd>vMS zN;+ye2epLAuQBF30)V9x&@oZ$QMODj^Ct!lKi}46G@|#Jzof2H>E;79&0#AceGTrzM zE>SPIw*RBW6}PfxArlfqsfS8vXpl;u_qU1%^2XY*g5@l_YDDJEQrK;4W0GqHeGkoj zmaSh`Y0M$6lLXPq3K$(j`B&JY^s%-meIF)C5n)kHgA~*ABk4IyiSuH@%SjNUK_`?t zW}>NqzBD*$jfM}IVA!gmW-n0h^P1WQSAkV;3k*vV1cqN7D1zQ-Mx~L8)8;HEbV72M zxqSl1vF1Eu_+kB(KkC%HXB;s(;h!mgv8ZaG<%*TH5Y^k*G_T?|97HHz2-YgY)!tfu zMa$^cqDd`fPF}a{pM_J$M)rR~XcP)yz*JXu@%v#QqLo#S9Do2a(XgzcStqbf1d@2L8HK-b7m2e`#)D)c3b&4?W3Hrq*xO3s1+ogry-RYi{ z+u|&qH&OXeN)sus8`RUSA%o!Y`nu6gxk2h7r(^dt?k%D!MZ27hmz`^76^xE&)c0}>4AYl zMB1FHwq=?Iip6MxoB|>wA>1kU)oR0P=TQCwp7xKu+Uxfmc7qAicR5Q?Gc0wr(aS(K za0JvFdJh3w=Jk5c^>iSm28SJSMzenahbz{5lpXEoagXo$MO$4Bi*D1FyZy^0Wrcb^ zcgvN3LJfo3OUF%pMUs2)_|)6?mkf_ma57GsI?+B&xj3y0fa4a7rdWZ_sXh2eknlJeI_)xV)y{oWAadOleF_0jeV?uJEJ z@GYHXwG_^PwdC4 z!vB`Hxe0~PIltSFx^>S{h%gWdzgLH`@zHBQ;o5)$z#32Ue+eq#*GakQp0Af*RmMr z-NE*rB(0kx=6CBW#`IR{<(XBL#yuy9n}p7>$I75l;!mbFZFQ^Pk}`R?@Q^}`a3M8s zFNHFPzyl>Sp^WMp-5rEr>OqR!IHZ?PP|x5bU|;(=_cHZdZsTb6HS73CEUHoZVF|Xq z2SUSwf#U|G(PX5OhOTzf|4w+lv}GcOh~}SG5uG-i{yOZQcVzn44 zyoJv?ZMhEym6qU6GK3jCXKK54Q=e(ucbCNKdy^)-HkC|U z6P>2?lc-WJFG+txQ~H$&+K-wM-zptKAdUfO!_(%c|5c9Q0FL%jfpr;y>DN{u-`A83 zyO@St6tW?7czg2EGfT}uESa=h&$+d6IaEiHo*u7F6UbF*brrtm3ZO#Ch(r$74 zZ;_NcRV%kKUkrfPkDDME`u2ICIN|lZ({67m3F8^|D)VSJx}tY#x_Q06Dn@(kxcV+e zPY|hz!(JqVMIsS-xtm9pgRo8CBcxINgI?r4FJl1|5Kg4%1xKOW_eJ5ire+gnP^uO>vy z&{y_w1jPIvkwyK_Tw8eCRA|&qIPC;hAU&KGUNL5fXl7JX`dml#l}_@yVF>-BjSd~w zA8>|m1|Kw;kX@lW8vH!Al~jAaflpY{7rS{Nh#`F zTjFd4?X3H|U|CE|O+1m=sVQFIP%-8(38P3P(C0K+Sv2SQyTWBY`71DY<;W$1f(Z+( z<61k!qmcSZybv1s;IbyDDCLlwjsw{%lEOu}a7elZ;JMJ?ZhznFdH`mMF}DVY!r65pwgn@a zuNcsO;@AWp{`|Iu`cj`-9<|h#UI_3ly=4fmuA-qnya2+Mp^qVvD|dGV4S0}eGG(im z_xWGi+69uUuks|5kp`TcLbPzPq~GERmrLPdw|dtAH_iC@s1;`XJkZ52#CV+PNy4O$4LR)MVfJ6;)^^e$ z!yae;Yt9OB&h>{R5!4!SP?xmW2ct{+k@W<55L1S97{c)bst0;ON?3)e|u5ZgL; zc)5gMf1RY<-nt^y4QkO+F^=ZaRQHyt!Nzg%xs-_q=2E?6cZq=V>n0{!MDQh&44y}u zx#sYWO?f^#H;Tboas!4?c!iUO;Tn%#<_s^!afchCk);4441q1d%d3-pFt9f>ku%2V z@*(~90t`|gI4UA^@BpnNmZ~1Y6m&(1+N})PM34gjA^$2#!7?JwYrO_$N=}JEe)I^h zwK4{I9h3)D?h9aF@1d>GZD2bX^4q|LfL-yql%cTVyQI_+YWFd){VJ=4o&PMV%P^7^~H_ z)?bJP`YrtTQ{MhQ1(!mT3zir6(pxQ@!(Taj>1}3(Q}&PpTT|h=ahTHjxExM5)YZ(xOL zjiI;2YO~De>hMRmObR|kay;k+Na573rS3j_G<8v>&C^;ZuJa-4g>+UH@oY`QR9E@( z!)&Bx0euhF!?6>9+=?Xg=T<^*347UP?!Dx)v&hA_HX2GtxRf-7xYTlYYziRi3?;S< z?hsyuvQ&$pP^<3n0lqX@GQ)7dm+Nr+$9+$|4Z^s=0{I?mFu;>=STztAr{EH|I^L6w9kl*YlsN7?u}6I?#pivkIp|>kKH}J zM3Q(EwZ8DGRp#L1U4!11OykKnn zFK@pBx)NKns=+4PHydJ(Q)nTu!L4@LIq-zV={9!@E(oesD}DNoY%sNc?4S&7DbP~= z9or{TW|`HMq}tX1fPm#jcGHnpQz={GLYDr<=;mW0mmB?zTyj=q31A)OkC{`ji5r=L z#5~d{V2PA*wy}?$FF8?U2fAJU7)`>o-XrGpN*vjY+U!NAH$=y4F!~jo^L+vr-q1O5RQ#Cs@{ZX$ z#_gJ+U`s!uSbC*9Tsia{bqvPln66^(9EJ|eOInS@1bBb<7LPjLf=*Mr zWPa-Jp42w2J-n1|)o8&f;SJJE*UU0E=&&Rti_k-zW6Zh07K3NPmUv5@q~AJG;!zhK z!=>gQ2T$qUcYJ1Lw%$Y-XRAmFbsn1Y*I>@a>a|vzuRlhF!T%}NDOwk;E2ir12`v-+ z9a~bJV`f&l%~9%|Ziikhg`FTC5jyeh8VueHt2b_?&ibI= zp}3cnnS=gMx2z;Jlw`~hCZ;XVeB7J(;A2Qm({YEH?A`a7i*rz<&Cl!iN&dktJ9PJW z+$_9hYikPhpNf!Uy>l()c=eJZb5PIm`LWU&mH%mYB4sKncApf!zQul_)6{+W3+yB<-$i?Lm__elriYkpeQG5Q7@Np}DEU>n^@c~g1LKavz!tIA!>u$Jf zU8fUdJ@c`_3u@cAVrYk4#R2fDeyo0Qcy*OA1|I66*`1EG;2lm77M?ah$E2Euw8!cO z&k;FmNUL|xh7qZfJkMi;!^QPFHs24{k@AH|j`w3Fyqh%q4-MHW5|A1qhmV^4UJ^%WoapOa!P(OB@>0!HY`MWb&qN12CdMs@c715 z*U|9!nZ!d&+PTLDEf>f@sRYLc1lPD5N2v!F;w@q{WIr}|uFi!qO;OHK45?8<4mDCd z0s*HxbQt%C?3kjJWjCa{+UpQETtjBbolu#g-yEDZS>Mrkjw4{6NWC-)&3ilFP}`NcVJq z^YB7fMK=9rP;aeL8*`oE#@-F}`mQm-rZwBqP&pT#mXd4to;*RP%PZDRqK>Q}-S!k$ z26X`r5zujRp~r{0jFv3k-!?)TMKTsBexVQEVe!PPXn=;p>#QmygC)WIlSy0qnKbun zD?LqTB-9-0du7;hm9O%j)Gk2bJWAFbtQ(C_VDWb54!84WQ1|?IoY1!}^RLg`Tt@5V z8sm4zdB;V0KyA##=A_nvgBy^nU&udiCTSNq3n(+C6JW7Bi2anM&QdA=q`zzP%^-Z{ zOjNf9W~3^O&Xbs!S+ai}snwNbFGnrWb5u{lNoa(Jh_}G{Ot7v{Hp9qADP8$osKypRGuH z?nTsaX?8Vq(kZf5n#-F&Js>xhl5J((j&#^5hhYBeSWxNyGVs%Abzl+qoi3_+(a+>bhtxk$L^@ zS0F^aE1ZF<#zlAl#3e8vB15_Wr#UVL zU+4(2kGB5o{KnJrM)crmQ33(k&KF~-0*&P$GKeBTp~0rsN&ldH!$4_c5D)Fb4gfV@rOe&kBFr9saf_{B0?GUHIFW zfOtx$Wi%Z^@E6j?v{(H;s)SwQ!7o!&o(-_vQ){dNU1y@VFn;cAd_$6PGrV!PqhZV? zy6=CnPR^+{W|A9l+78fQeUK)Aq!|FyhqcC!h$nE>5r7<_59Lv749`RYS{6ipe+N>r z#VZ}_Q02)uzc$g@DjA>r(Xuu+ZS)LYD1ahk3Mq`1x$R9nyvqYnu2N}Q*`dVG$(vRtMLpRd{CJKZmm{5 zXF+y;uH9nQF&ArXATtJuvC4WKC@k zG_}PUJeu7`m!lkUUah`E&;W49zEQTWH64@Lb3Z5ys^SG6x~(I$O%46`wODPk>WM({ zErmevBZT1ZPSHG!-~%N`(TP{%0x1GCIwmMO=2Gk(yO)sk5*#I-qp3F&(h1Dy)&2~^ zmYQ0x`T(dQl+-@?BEGZ&NfhqjnL2Q@W z5;lVMM<{0gORz9O(v(-Us7RX+h0Oj2Qh}uK+Dgr3&6y3gJ_doj1lnCrEONWH!@&Mf zeknBYeVbcxB9;8SAq`cS-zdo&8j{yS$zEA80v?7|B!~zCy}`zqUASDV7Ro9#nOP%+ zknMi72y0UFS0j-h2l+6@j3>k^Bt`w%?jjjetS30{3UBkPSpAE#K#m;YLh2fGe12)) z-y0%=y`rlDNdX&LP;(tyVa!NWg?_Q;Z_UjEiW<)Y3xv6h)cv56JJ)xpZNuw3s%Tll zCw}NiaSEjTD?y6@rds?pSe2MLt>c>E|5(0xjqwI}EgbWqQ^xXFYirk3Hdxk;90T}y zB_Aj?{*zesGB-~A)FG;}Ux=ZgU5?|Qp9{?$76KVzWL8Ie;h{E&$8p2=GLO_%oXt|M zG5B!n#hD0z7frqp_tVNYjO}v}c7gPpT{H$@ZDR@$-^TjZ5}4J39WCH6rV`1R3-rT~ z@ix=SL0bz!lD9bvPW3`E)K2b@K*!cbXtPPZ00bVOk}|eqz=73;6gtdqx?LVdN_&{CDIzf z;)*~6<~X#Us2X+krbJDzf)5znz0_Xno>7FrSuN;%oQNPb16-Ab=<~DI;2*SwLds#@ z6nXxdTH{Hi)Qq~);G#nLsx`(SneXgX%8LV2+uVzPPJhurC?d2 z!#);ioK)jHYz1-?XK!?OOQrD>Fm75Oj(7S$Lk%TkBd!vxi^T^a(%s*$tf@67a4OPM zE)VmWj}7&E>ClH5>{QtEc?WBXNjU3f}~-A^iWecQ)`*R%fDr z^93OU5)~{e>T57I2!TLQ$p@Ga0>mZ|n0$bI#37lG36q)GnRg&qu%Ur2Va)2bZr6L) zcBSant^M%cw#seY3PO>hx24)`?Z;ZWb-Tk(Z;RC;er$99&pGcqGl5`jyT9N4?cN!9 za?X3c-gBOF&U2pgJkL4rF6c>7Wa<9qjGBSBi>#R(VJj|p^2Ku>y2EO zxc!Cuu3T25{Qs!@@o%e#?17t%Wm3Shns}WG$x+e!3u_9V{L#6=)IxIhPuq9hGTvfZ z6L`ynfww0_UfA|^z+g~VYb0i%yme*9cOsv$(M_Z?i zWIo5{neg%-4=mge$*w`kCsmq_>MBw!i_A1@(m;Pk(QtDHr_-K|XF+Slyz<40)@cO~ zJUi4n?Yr^lOCRD`;N&`~$nkL-mW^b5DDwJ#InZ~<;I3(Ww^FKdJ5{kN)i+Y+knpOM zCXUni(YWD|W&(j(U~MF$=FD0sscIz%8_78H0eKv;vIaj$w@-oB6RXtKs}JnK_S4lG zEq#z7gQ}Hn5bD;Wk#bZMXW0xv9VCUcHeNC^^#M{v&sV)uu; zj*twe##Z&h>!Z)Xxh|X*c}M=7oAq2xG}apX6yGLL)0t)JTzq0{dt0pHDa8t~+qzc@ zJgxr3u;nOR)#$`dx0LJSz)KA@>#@ z&aGWEfS4)tS{n@MFS4pWDNzM`r<2rqS;3wdW$?mD_6xO=VfWke)`C4E1RmbIfl6vC zMK*ehrjy|cJG>b|Y;)|Hzh?rh(?RXc!~Y;zVmGs>)F2S5-ZoRmAk-vC_)m!+j8*k! zWu5P7q=fd^rxfp1IK1~R(A-m|O7&8z4rph&OFZ<5zg`Yk;3@I0nZ2~>c5mpe8?D}yG}$d zJNM0+NNz>WzO5WX&mL$R8R*T59@#YG_^hK==?d$H71mVEB*R5x*d$EynPP^EzE1vd zoC`Zeu~Q>5MDYwTX$H?1S~m@zH^n5h3|$}}y!!f3F0`g#ub;lcv|W{R8y;a{;&YI)#%GcQ zYGGZC3$e09yEysGVx3;dh&sX~jb{t+jRD-f&skSQCmo_qZ+>@1(-iQg45GO}C2zL~ z_rS-wjC03euqM9AwklTz=En0LE40Qbe_`zEJc@gni&Uz98o6SW5JF~Jd~q+LL^-hb zYO_Aq0dXCf`mhjTWGL3)donIW~(WF`+(;Pj`$$!;%M*NyoQ7f;w!P=xLS5PXI-&Ha86oAt3G+> zik;VX$?V}H`L5Wzl)g^*+^fV$i(yuupUVf1#t$@>Wt&=P14aK9*B{He=Riz)bC4@; z6m8CT$)QM*X6Np|et3Jv5a-E~cRC!EI~{U_-Q-ROeOi%|iitZNaySbUKQ-`9DY+2P zH%-Zm=M20vD>9C7f*7WV)b72P;UKI0oD#*C?)5R2tHcdhMijj>RZ77uc z9iUsRe$oT+rgKNK)jl>d9Xsa8;=!L~S`*|`O3e4|6F68mnRS^h^G3JzU*gQThr#4geigy0fWLBEo{#ww|lbINs=jGmj!D8)(W{aFpy*-Z`9r1hJX9)Aa*`!_i;(T+*52EnF?lEA0V?O}d5FTX z#Z!d+`!x8n3g3-|k%(iG*4gIRh9?zesQTtX zi7VLiDhNbud*f$DMtZZ_bQ@x~ax6ksQf|sUHf7+hEM8X{L0Yz~qb=6|HD2=Nvgir# zw+bgS_?3!_88XYttvtGOe09Y~vX;evJ+QbkvT|8l><&_cLj9gQZ~43*f2XsY#1L+Uo9#MP-7#rzTa)BW|Vb zE)+L%Eg=i=wM*2kc9aaS)y=N>6ep}5j|8@_ZsuyJ$-JxJshoe~Ww0T<;V1aG6*?zo zyT7pASH+E#5OW$|yCnH%J4yyQSNTj~!~6`@rJVQ@Cz`kANPN2_XpjGs2&FR7UT~Ya z%N0YAB62DT>CNfQ(`9^Em9aKDbphBou#`X1mD8(E?Yge&WWl}9z?)T_D7fz_aZlcJ zUDb(QS1S|Cqg5w%o~t_f5iC0H$(59UMG7Rti~-cd@^_r~aE#@?>SUy#{99Ey3kBDo zI)a|_h&-;4$A^x@e=WS+D6j;hw_ADO)M@c3EJX4Ox} z2J@|Wp7WG-f(>m>WT6rT=0=}vloyPPJ~@C}_3eAi!87CI*H95r4Nr*X?^P8Tk4LGD zn^5X2<1f3|LXR(;t)X?VOX{tj!8Mj zhMRI44yspP_BDAxtAX8AtqK~NB&BFVsc+)&VR=w~F51NLXk}AyT5x#8)&9)D^&cBA zs5s?)ap3fh^I0dqHca?nQ*MSbyiBUvZ+p8JO2ERypLK^e9z_hjE$F@D#$C5Thv z=kDkoKQ#3&lF!QiOM1!84c39b7A=A3poq$Vk?S z=n(=Bwh#iMW}O%;4&sFbHRBwTKUfIJp0@nOp-IBe9y&xNszlj-ICse+Ge3!3aYk4Cfq@oADC6cy9a-ETcjSm^TIZ=J-|se~)ohA>bP2)`^FV^*nh z4lw*LQC&pk%P6-E-!IY!EOMqJmX`|#G0=Gpv+G$I7?@=p*J`g8jQ*Do9yfQtB^rU9 z-;CF3WoqmhBm|DC!zx^1<*tZa;p%-Op6lxUZ9L1>dv0XvBdl@J z@k7(g$`7xA&c4)SGB$*bm#64%we%$U45iIs4qR@RXk>neb0Y%7j!zzhiAV_iScl^SNi` zV(Xe5?nu0Hq^XeG*t3RLW!UF+k1s9D$R51%uC%41RgPQH|Q=&blC*Ur}v>qvAVq+B`B6kad!nuP; zP5U7+9BJkI4c#*`%XS5#@;}JXZ2^Cqe$ABYzE=LmJ5wo1C*Y82-7b%Rr zO^5MC3(N$jRBW6sh7e-z5c|0b9;%;yKr+d$@ETh|?`WaeTuSL@K1)i`u6+u(Vq=OG z1QO5*6j`wML0*Zy0kZMTwP*Sz*{CsgK!vMWz+`$CO~BY)AG6@OG}KTlVew%98~j>!+hsrhh(jH(r-Zu+WQ&gx6~em{)~u{|-o9>~93c`kmhw%%28T zZezTu`{@4svh*XsyrD0s4V1lfJnvju-H7$4ZD z^cOYpUnPrt{qf-iYv{%!zsUaF@TV72BkWkC&s($iug=iA6Fy1vcGYv+r(j0B|KqYC z=iV>H)L^jw+uGUzKFt0-F-ktl>CbnwLr2)DK9@5cT`V;>nh%OrHg;Sp_T+5xK2yl^ zqmQmTD0P1{-bw*GMi3;)hnyKNx`w$mi$oBLgfn(8u1=gRl)F-{l^2vBR;4}u_~Y?O z71#DN39ZSozaT?Q%y(FV#0*c#HKhLrizNl~^mmcM=W@g^6&xvknw}p#|L>y%52?U+ zBL&J{DVbcYUZsz~3|mEmv25!DgRx0g{t8Rfv4^semmEEGx%!(8_i^;lW#Vt|tyxD^ zrT^$PyV43T2c;DX6SP5HeTeY^vN7%+Y2zT8QfMcK!j&>;4lBlE-=3Ub!lc)5m+Bk) z>wj~6uRNLDv3MKTjJ3XwF)${@RY$g8%em2~Rnpo+Cco$pxia$g$D_}4v*hcaTe4*T zk`e5ePj#&4>hit6e49Q{8gu<>u^^z>Htg_X+>tP%(y)T**tSHp>_J7%?*5^j21|zv z)7W<)s&o~k8$7lF+o@rBWq0&4)@SQV-Svh0AISM7FWGm$32x%kS)#2%9c4-sWygO$ z@UTQ0HMO-M;F)-XjTP>G4_(E*@7t$1Wt|u}V(#0gO5&abcjyZ4g4{mYDelC;88d#` zDU71NfsA-?k*IA^fb{-*Y&LIO_gszy$XJp2EjOBAE+94%t-Xt6o^w@(n&)q>LyCj> zSR~h~Qg_#t|9Ii1jDiP_R^`Ygc9Hz%*xyjfx`T4B9e1|2a5bNGRmCE8<>+NG|4)UJ zv=%!<7W22gA`EWj__4&ppI)CG^UYU=v%e|~c5{2I&rVmcr-qIf6;J*XgI!N#8>+%` zWwo_Ts`8sp%CgcNi$1D^K~%|_LwH+k-Cq)LeBCT8mb2>5512;Hn?Jth$8Wwg<7HN! zsfU@0ZLxC?P#LVOPs@n3FKtyBK9Vxnd-?87eU}4$ChT@Z2bOlM($Ur;<9fZNN_G z54HhIdd|buj7&X2BSrCv!PPCt@b~Bp~&0oH<5u`Yt?rF8>}zsPXmr~J`H#!*wddOe1+v`HdoPJXMY+n zUw;}fa(w6m@o9XClO+S+Wc!<(ABfAAQoc1EEi zaS6{PJdg-4*dy8lF0 z)C}$hK|Ri_f9P*O?>hGQO}X7z`*kxgD+``H<=A6f4Vxj~h(rQ+7*0h#i1BPieZF;B zJh$MfQ=E{o@@wPA#lUO07R?%A?1*MPEB1nKo|Dp) z2wMOBUU|K~G*h?$d#fG3^MbACaLbYG{f$Sm;wjYJ-|NTUf_P< z0pLO4A>d))5#TZ4^S~3pSAavn)4*Zi7;pl30XPL@WcCO7dA(k@d)>O#{2Cf+E9T9- z;i{`9UO}B+Ce4a};QheEz+vEYV43mx=P36CEFmMd`9&j3X6*v#%zNGuc`hj*; zM?7L;llxzFM)&H__GspPn#EUDJH~iuMocBpB{_xxxi5jX# zT>6i01*z%lISy<>ncAx%|t({p0dWZb~tX zJS@Kclz*AVcn4g;= zjDJqNxJG_Pe#RtVGVs3tNj}M)q4U4*e9jx38YEkk_Bj}MKm9LMSALTAPn`dh^oRfZ z52XK>8-LortBpVHpP=y%M?f-1w(;Kor2O~zA=(_7cT=rV4~#STPsbJ-S>udxnT6T) z_4PUOyQR!%mNLweh0SZn=Nh+_m9;lxD`%S05k~G^J$Lalj9{>zUoI&yx6RGPktJRp zjS|CeL<}GQW=a;L#2@kb@OE@8Z(Oycwy|SHeQk4xtG=ejTRhO3PB zAF20u8f%T00Qt%D+?Ckr0pkBT?!N+|h~M(|c}!0z6bPAyF$tRA(zwdy(joF_xEfY2 zPkA(!u4<}nSeXo2b8FfBg_H71&4}N<+2=8>fa&#nEw9_>z1w569CUYj%x>Q83vBnMWOQ5JfIpe<)=TCKTV3yw?-t1yjD$SqHgCv^xP4}K z#NR1po1Jc-PrX3uwcwKFcLe;Ney=sxZHZ%A(!@l)=2b|(WV-`F4+RJO;Q)B(@@(^V zrlhrT>rOG3R_d2848Zx->qUyq%#yIM8jGZQihSRo$#v<{Eo|HhMRQ z+@T#Zmh%{tPH?@9+Z*!onsuWp8N$Y#IdhC^rJM!9FJ>%9{7nIWOT^Re z>1yeTEDL#EZi_s3xc$pKo15IB+F+>3z2lCE|Bi^SHnPR#39jn2RtB~$^>mWVXt`7V z>iP71pw{>fAoHm*SZgc>mV2y5ci5_Bh;8#U2ZE8HAz}Kt-RtiPY&V)b;jnv)XGx%+ z(=%aDsC@pME}zdZX5R;Kv48h}0{=kr*$G$f{r~m$%3m_-nO*c^C&)2YXSLXa)8hmg zl^Ni%E)ohcuAIR9%oR|VWg(A;U8}^mK+EoA!Z!FJDSc{ebBa-7Tsy*+r%&RIt@7L$ zVE(H|NV$|!>tlWyh04Fiqn~osI|F@vZhu#!*YBw{UXhSCPbdrpF^sFSTpnu$kv>md zfPrcl|3kgY>e7LRu}Pknd3~Oi9YK%rB^~RA5(TA-wZ?V{X$o{jd>)+zave#ANzRpw zU_zTEv_3fr+uR|q(4t!7rxIh=sh%;Fr`oX86ShKu9Y(Hts)K@9V5vW=P18Yzw21Sh zn`>;%Y!Z62WQXNx3AB5=Jas+pknumIe3uns=1ME5%U4H-w4;K_a+0?M5@i^bnT>T# z?x4;~zN*w`a(Sg3nJ;P@v$6_4rOnMkAUq-FvQg&?gl*gy|6(ljMZ!IjVo9XCn{F_S zzs_n8c`c8G8Jn|O{XMEXy6XEoJwc)KM5vPfk0DJ?L7=WxxYqd9C1To*CaK@WS&UU< zhtr}LGS^tXR{wTpy3u54tV`99R7l%g$&vAR<{F5)skjB9O zUl?e9nEiy^rORyUXjr@ORs;3BQ4$P!x;)+JCA*Z-NGW+xnHhC%{|7BonId@o!H8vcqkuAt zio->7#GJzriwTsMhNRyPq@)i-tcx?aNz)k&&cQ|`HEod{RwRX@QZkCWv~@yp82b;* z3_L-t&JBe0duRBls#)yoBCYn5C#;`U^$0JWH@|$rEw|pbu%ZlnHa4uR*ZAt_Sk};J z`-_U_l!wjY&f-q9c+P@w5!pz)w6-M~zfeLuI$9cwCy>Zo6+Uty28)S$$8 zlb0&up{!`^p=F3`hI;}LUzgNtv&T%(Aw%Q8i+R*m+fln_xr=#qae5~e`0w$UeQxZ2 zWI`p2!F0|P3bM@`h=hGRbP{Q&DvP9c38p)ojJtS@qejPgf{7_pFfsNLp>{j#`-0XE zGZAVOVL()5Bi*8YJ`5C6qDQrDX(Z_LcFLGY4l+1XK4D`D;x7+No zw#)d_h)+~ky%4JHE5+0eTNcu53bxsUHI0SJkw47$z$RyyHefH?_) zQRo!>C(28dz>#X(iX}nWlA|FpNK)UUXrtH*DoZw}dv!;uv9aB)u;gUEcM$qkQ zy*5qg-OY0ia{{SY2*Z_3&j|$ZOKr2lJ7IYwvkjn_63&}+UFJ}btX0rKsW0(E4`DX|Hv{t0Vqg{^d_i@!VJya84#%iogdcY??jqm@;3l3o z0Xu=4c-V>OcKnrqG_J&t6&4;v&+(T!w6n_$M>dxx>qnXfzoM+HnSr39{pKRGxNEk# z+3P1j`xS-shK0;ZGYuUPp3U^=VunbnvIT+Bd1M(;*~!u54F`RgnszDcOv{b=;U)T3 ztT!bd`f9m5w~_+_tro)|rbjZM<^5*B&mth}fk&rXU);5k_l%nF$yRC}f?2Fb32Ph+ zlFX7$nJv%=nQyeIm=@7(yrnzg@=o2Udp--z47?NV~pPlG;;D%_>rQS!heA8u$uflC2?O=S)|&h$a;dZ z3F%jzK|Yt@oFzpO9DB?#ie*fzp4ai3fFz^y66?+q>|~vp5#Hgq-2HlGwn7ob2XwnN z!!SFsn0Lu)uK4X%S>=T?nBg6Ln*%;osRZZ3+@jqbomj-NP+5_XKWsX@Ggh3!2#w+d z^_Wq4SZGtS*gUl4k<~>CbYl-3QVc*@e{tD-U;hPZoc_{ia`;1r%@&(Qz(P!q+SED= zUQ>Ah&})d5Udk(-!A@oEhK`Y`!G2M)rtd48yv|UzfThWt+uz6gg{erca;lh%%3&rc z)9BL8*ed?M23=5KYu!qWzx`sl9LCJr+r2||gr3a8g%uT-E%f!vFgDcw1WE)sAPW_f zU5zIUXKs4Joo*vp(y=4=gkhbWrT)UfpDedH%&M*P z>Ajt7@MfAaUFY2jn)($^MyJuyj3nYBY`6s)pfUY|Iz{Ex3Z?k3(ozXj6gRQnnCpw@ zcWpHJqZT(|iHq^71yFUptT~z(o4i8(v{|efU?5;^zg-vsNW4&D&EP0}3Wb*qnN4&x z|Lbfmr4MvkIUu1a&IRk*#nCbz)b7&nk$tJ~8M4Q8$}9=9VIHekwZGPNq^e%a5cX3} zgfPLBvHyk7)f6ebh({eY>0&wxFX5(3nJGOU9@W~w{!Zo>qscBO@hmUl2NS~f*NVu# z+fFhnOp>MUslXRx!JcRr5LJR@oGNBMRZgLKReH+H8Y^@|8MjMcXtvr$zuGgpg_j`R zSZjzj1ZIQABEiZlBM-7aYBMiX5CRg0-%9p4sFD$)cufay8Z8|@&o+;*w3Oi_%&3Xn zXf(QhFMikPev(5T93<)2+>}fsJvI` zg?wKysQZ!<4o03FY6{CtvXR^wK=9CMb%2ww)8nb{PxUu4f~k_?o5X#;aiia%2ijO+ zU6H<^VrZBko$5@IGf$)o^9;M+?ERfIK#RRxG6;#~TI1Dk{#hho>4PFpKGsoAPWV!|3Yq<7K4H!Jg^ne&B;|T3 zVY6WsEC`g1C21rFy0nys>W$tba6GPyj!=t0N+UE)e(#2^c4~fUl3;9L%}MlQFj#6Y zpDDeZ#Fy|z4ti8Q{{TKot-H-~v%wR+_Uu3i zq$QBZFA@p>wdy3tr7b~LFQJZ!@#+g~LAJ(g1%B`YtM& zJM)9pH!LnSW~|?^anpx)?z+ctTF%yuLy^HA;ZzcQGELw* zmJaBPboOv?Hr%tB4LS2u3H>5)9+t66%a!{)EV(<(k`Svp!hS}N9QS47+oRjp&)9=4 zQT&G%ZpmI;%f)0(6+DXTaE3HZ@q-f99SZc3K$0^sDT+%!zEDPY$&2Df&7kLzszX7 zOJ6$uFqbpta$nADATjn+*9Dd;a4HHEwI}_3x*tae<8T!Y52X0fG4x6{{wmEFDQ_ZY`lp6B(k=X*HDG{vBrNGM`0ZzE+=+r7bO4pE(-zxc+iXScWRpAU8MbDvUhIo=~oHb?xo%Es)6%Z|; z**0hXoCR~{nI-ef$`;HmD~D0ORJg09cIDFAHBxoPLeg*c1rWF(%`zG5DSqdKvk=iB zbV||bMBp61$1-_oxseF^J?W&;05dnQ{(j_S)+s8aP~sat9xl5)n0-awf}?r_-C$I;giYACII zED}b7TX{Sz8ulCohGMy351S4+Iv^=>PaS1=;4zbaa9)!`fZ%A0avem3p)iO$#n$;@X z;`NKF)y97DMk!s|yi`dfop@m@>=b5+jq%EPQc9wX64~L*l#=YN^Cil%)2R}jlu}NQ zS?yn}+qTA2$~#zQlz5CCto_(!H`1m9&YV|8`4_8hH%c4KYRyBiMo=CHPe%nXilobC z*m_y`PIrg}NAzNPFw!?!VFNN8a>2ouxlNJ-Y9=%kfy)jXbrL4U$HVkhWLQ+yH zH$wg{ubW|mY@t&Pl+q^hH>p2Ml~4U`7Vm2Ak_fS$ioYerzf7rI8Lzq*Ow%5(_KT!J z%r;q=Q26iA44e>{KKE97%jePc?lY^24#?sq-C2j~A1$y{*d8}y%TJv=f)g}2@IHDT zI(6|xIy-uUNEsrXFv(js&o7@hf3~?b+<6O^SBUy$OSjB|5Kh#+FYU*5; zvP+vUe2?9InjaOmN%z%ioz5;Vr6&a&33Hd^%!3ZXgJ{~~N}V_Mv~d zSru%f8jZ(xvswwK7_^*bH|=%XRAH*3c5KP2HNu#GxNP>k+4E;Fn7wfJyjyq8b_Ta5 zih_^rxFqgs9UAB$qp->pDd%EeYU#%2HOnT zM=1JJK1RH=(a=NLD4oSTXbGx>GFF{6POd)D6JAwUXqT-nwAnMotK}Kx_I@_&lZftdRG_0&^Y+Wje9bbaC zwZ}{9@*}&IIqdo8&XK?3&Q4LaD7eB~rQB=-{x;;9;$AAP)@ZUvA&vA`U~{iw zvaQ0tB4yX$=q6FHC~dQtKWSqg=?f`e?FUk`*c*j8#JSXZEaP448$`b0KvPoEYRe5$ zbk5F-PWp@RBi+ZIk9vv?KtjYoQh4U2b>en(u&#D!`bkoGPDsureuizBml`fRl+n+U zFQ6nd*ktNeze7ZD5^hrz#!S$DU%013O=>Bhasom7v4eVSj%-mWJ33fzQ=WC{*pabA zc5)|kqF?Y>7_Yf~BGhr}Eak5f8@&X5k)FuYdmOe~Zre6Y%EUZHhxb6VgyYyO20Kp7 zSaBL>GA1rnC((_wztd`Q(mDIY(YAO=TfK;A@JWXd51S*#BjZ5t*6DY};Y&PYN$GPtI^fzMrX3wx z1ft_ehZ4m$xsfsM(5VF9DJ9d(Y;fpPy(wZrD%EqI6+mX1&}ff;3)Hkn`SmkguovV#StJ#z$vQ*wCCCe*c!u zl85x2QvTgN%2BQpww3wrCKA`MIX&F|d1Ynu*jM|*NQET-R-q4D1IkgZ6V@qQAaT8J z6m?VvuhARy8+Ndv^u%`E`@&n@{$8(YgA;GJA!TDrt@3|EC8y3r9dOl0&DlkZ z);)|lrw?RK3sgGN8(ZoqvV_D;V=|G1G+x`v*x{8*RbCw{DGXzP4>~$-h7|1lQi*{b zCUhh}Sw*V1*45FTb-C@S0Od+D&61je#@<(ili%AdP`E2GSTvV<3%zGzQWbNMj(4fiwov z7)WCvje#@<(ili%AdP`E2GSTvV<3%zGzQWbNMj(4f&bJP5Zi#$7!>4S;yBT6$+h^! z7E*qnOz{un7u!hr{Y8rZz7+rcDgM7q@qawU|A`cT7G?1TTxFAaFRq#MiK}oDKe3nk z$*{J`d;)g@&wFsi81gP$v2$2}dl_yv?&Y|r@2xei!2JsDG~AuIQfLeA)wt7fufcs4 zdx`0|PvgpA^UveTheIF2y&Lyl+;?&J;mUU-`f>gJW5YmD+hv@6ZDgd`B_|aB_+RtV zKP~?wnM;gU0r`ooM`}${pT&P2kyXH*fZ*V-fv*DJ16~I%V{DWGD}g@1$%A>nu?`UX zNydor72qY{H$Wlj<^oNC50IZYR|1X=obSLG5(B6z&JqqSjI#?AmdG32@_ZP zUE*Y{I&o62<@5n2K=-S$6vCCdN;@R|03dbVZMz@EmH0tG;`abj4s%7_hxcjw`2eoe?-4-W z_gO&FJq1Ypz70tH4*-du22un+8JXE?iar8@@A~MDkKRC-{QmBz+CA{7c6a~nX&Kr^ z%{>FkeT?)+4*uw%siQCYyZd)KsK$1``aaXw+UcJp{dYd|>SwMt{^c{V&#b?6`S%=9 zIaV_uR{v +#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/src/tools/ta_regtest/ta_test_func.h b/src/tools/ta_regtest/ta_test_func.h new file mode 100644 index 000000000..acdbdd472 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_1in_1out.c b/src/tools/ta_regtest/ta_test_func/test_1in_1out.c new file mode 100644 index 000000000..ea6eaf677 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_1in_2out.c b/src/tools/ta_regtest/ta_test_func/test_1in_2out.c new file mode 100644 index 000000000..91232ad1c --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_adx.c b/src/tools/ta_regtest/ta_test_func/test_adx.c new file mode 100644 index 000000000..96abcc040 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_bbands.c b/src/tools/ta_regtest/ta_test_func/test_bbands.c new file mode 100644 index 000000000..d77741977 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_candlestick.c b/src/tools/ta_regtest/ta_test_func/test_candlestick.c new file mode 100644 index 000000000..5ce05a43b --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_ma.c b/src/tools/ta_regtest/ta_test_func/test_ma.c new file mode 100644 index 000000000..7d0ebd6a0 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_macd.c b/src/tools/ta_regtest/ta_test_func/test_macd.c new file mode 100644 index 000000000..554c962ec --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_minmax.c b/src/tools/ta_regtest/ta_test_func/test_minmax.c new file mode 100644 index 000000000..251de602a --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_mom.c b/src/tools/ta_regtest/ta_test_func/test_mom.c new file mode 100644 index 000000000..d95f1d824 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_per_ema.c b/src/tools/ta_regtest/ta_test_func/test_per_ema.c new file mode 100644 index 000000000..b3399e506 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_per_hl.c b/src/tools/ta_regtest/ta_test_func/test_per_hl.c new file mode 100644 index 000000000..ce3adf0aa --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_per_hlc.c b/src/tools/ta_regtest/ta_test_func/test_per_hlc.c new file mode 100644 index 000000000..0b6166375 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_per_hlcv.c b/src/tools/ta_regtest/ta_test_func/test_per_hlcv.c new file mode 100644 index 000000000..8485e010c --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_per_ohlc.c b/src/tools/ta_regtest/ta_test_func/test_per_ohlc.c new file mode 100644 index 000000000..bacec8ff4 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_po.c b/src/tools/ta_regtest/ta_test_func/test_po.c new file mode 100644 index 000000000..7fee88736 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_rsi.c b/src/tools/ta_regtest/ta_test_func/test_rsi.c new file mode 100644 index 000000000..4aabadd55 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_sar.c b/src/tools/ta_regtest/ta_test_func/test_sar.c new file mode 100644 index 000000000..6df057073 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_stddev.c b/src/tools/ta_regtest/ta_test_func/test_stddev.c new file mode 100644 index 000000000..ad33f3a47 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_stoch.c b/src/tools/ta_regtest/ta_test_func/test_stoch.c new file mode 100644 index 000000000..f8d01aa92 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_func/test_trange.c b/src/tools/ta_regtest/ta_test_func/test_trange.c new file mode 100644 index 000000000..e13e70028 --- /dev/null +++ b/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/src/tools/ta_regtest/ta_test_priv.h b/src/tools/ta_regtest/ta_test_priv.h new file mode 100644 index 000000000..435f06758 --- /dev/null +++ b/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/src/tools/ta_regtest/test_abstract.c b/src/tools/ta_regtest/test_abstract.c new file mode 100644 index 000000000..909ef9c67 --- /dev/null +++ b/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/src/tools/ta_regtest/test_data.c b/src/tools/ta_regtest/test_data.c new file mode 100644 index 000000000..c4400e043 --- /dev/null +++ b/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/src/tools/ta_regtest/test_internals.c b/src/tools/ta_regtest/test_internals.c new file mode 100644 index 000000000..00ba471be --- /dev/null +++ b/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/src/tools/ta_regtest/test_util.c b/src/tools/ta_regtest/test_util.c new file mode 100644 index 000000000..b32757f86 --- /dev/null +++ b/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/ta-lib-config.in b/ta-lib-config.in new file mode 100644 index 000000000..8105d8b14 --- /dev/null +++ b/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/ta-lib.dpkg.in b/ta-lib.dpkg.in new file mode 100644 index 000000000..d41b81b2c --- /dev/null +++ b/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/ta-lib.spec.in b/ta-lib.spec.in new file mode 100644 index 000000000..7f502df6a --- /dev/null +++ b/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/temp/cdd/gen_code/HOLDER b/temp/cdd/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdd/ta_abstract/HOLDER b/temp/cdd/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdd/ta_common/HOLDER b/temp/cdd/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdd/ta_func/HOLDER b/temp/cdd/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdd/ta_libc/HOLDER b/temp/cdd/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdd/ta_regtest/HOLDER b/temp/cdd/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdr/gen_code/HOLDER b/temp/cdr/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdr/ta_abstract/HOLDER b/temp/cdr/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdr/ta_common/HOLDER b/temp/cdr/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdr/ta_func/HOLDER b/temp/cdr/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdr/ta_libc/HOLDER b/temp/cdr/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cdr/ta_regtest/HOLDER b/temp/cdr/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmd/gen_code/HOLDER b/temp/cmd/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmd/ta_abstract/HOLDER b/temp/cmd/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmd/ta_common/HOLDER b/temp/cmd/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmd/ta_func/HOLDER b/temp/cmd/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmd/ta_libc/HOLDER b/temp/cmd/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmd/ta_regtest/HOLDER b/temp/cmd/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmp/gen_code/HOLDER b/temp/cmp/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmp/ta_abstract/HOLDER b/temp/cmp/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmp/ta_common/HOLDER b/temp/cmp/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmp/ta_func/HOLDER b/temp/cmp/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmp/ta_libc/HOLDER b/temp/cmp/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmp/ta_regtest/HOLDER b/temp/cmp/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmr/gen_code/HOLDER b/temp/cmr/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmr/ta_abstract/HOLDER b/temp/cmr/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmr/ta_common/HOLDER b/temp/cmr/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmr/ta_func/HOLDER b/temp/cmr/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmr/ta_libc/HOLDER b/temp/cmr/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/cmr/ta_regtest/HOLDER b/temp/cmr/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csd/gen_code/HOLDER b/temp/csd/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csd/ta_abstract/HOLDER b/temp/csd/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csd/ta_common/HOLDER b/temp/csd/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csd/ta_func/HOLDER b/temp/csd/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csd/ta_libc/HOLDER b/temp/csd/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csd/ta_regtest/HOLDER b/temp/csd/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csp/gen_code/HOLDER b/temp/csp/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csp/ta_abstract/HOLDER b/temp/csp/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csp/ta_common/HOLDER b/temp/csp/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csp/ta_func/HOLDER b/temp/csp/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csp/ta_libc/HOLDER b/temp/csp/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csp/ta_regtest/HOLDER b/temp/csp/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csr/gen_code/HOLDER b/temp/csr/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csr/ta_abstract/HOLDER b/temp/csr/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csr/ta_common/HOLDER b/temp/csr/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csr/ta_func/HOLDER b/temp/csr/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csr/ta_libc/HOLDER b/temp/csr/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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/temp/csr/ta_regtest/HOLDER b/temp/csr/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/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.