/**** Local functions definitions. ****/ static TA_RetCode rangeTestFunction( TA_Libc *libHandle, TA_Integer startIdx, TA_Integer endIdx, TA_Real *outputBuffer, TA_Integer *outBegIdx, TA_Integer *outNbElement, TA_Integer *lookback, void *opaqueData, unsigned int outputNb ) { TA_RetCode retCode; TA_RangeTestParam *testParam; (void)outputNb; testParam = (TA_RangeTestParam *)opaqueData; if( testParam->test->doPercentage ) { retCode = TA_PPO( libHandle, startIdx, endIdx, testParam->close, testParam->test->optInFastPeriod_0, testParam->test->optInSlowPeriod_1, testParam->test->optInMethod_2, testParam->test->optInCompatibility_3, outBegIdx, outNbElement, outputBuffer ); *lookback = TA_PPO_Lookback( testParam->test->optInFastPeriod_0, testParam->test->optInSlowPeriod_1, testParam->test->optInMethod_2, testParam->test->optInCompatibility_3 ); } else { retCode = TA_APO( libHandle, startIdx, endIdx, testParam->close, testParam->test->optInFastPeriod_0, testParam->test->optInSlowPeriod_1, testParam->test->optInMethod_2, testParam->test->optInCompatibility_3, outBegIdx, outNbElement, outputBuffer ); *lookback = TA_APO_Lookback( testParam->test->optInFastPeriod_0, testParam->test->optInSlowPeriod_1, testParam->test->optInMethod_2, testParam->test->optInCompatibility_3 ); } return retCode; }
/**** 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; }