Conversation
* This commit introduces support for cached builds across installation runs for each pushed update. It supports ccache, sccache and distcc. At this stage its only tested for remote installs, but it *should* cover all edge-cases either way as the compiled library is otherwise the same. * This commit closes #57 by implementing cached builds across installation runs.
* The README has been streamlined and now positions the {talib} relative to the upstream, and (implicitly) relative to the wider R ecosystem.
* The usage examples have been equally weighted between charting and indicators in general, with a generally higher emphasis on the candlestick pattern recognition which is the primary differentiator against {TTR}
* normalize one-column numeric indicator outputs back to double vectors * update the generated numeric templates so future wrappers keep the same behavior * tighten generated numeric tests to reject one-column matrix results while preserving multi-column matrix outputs Fixes #61 --------- Signed-off-by: nvphungdev <283886185+nvphungdev@users.noreply.github.com> Co-authored-by: nvphungdev <283886185+nvphungdev@users.noreply.github.com>
* The benchmarks now covers comparisions against
{TTR} across multiple indicators and presents them
in the README accordingly.
* The benchmarks now compares the .Call against the
dispatched methods more thoroughly than before.
The goal of the benchmarks is primarily micro-optimizations
on the R side.
* The README now includes a subtle reference to the benchmark where the claim of speed is made. * Added linebreak after dots (this is good standard)
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## CRAN #65 +/- ##
==========================================
- Coverage 96.58% 96.47% -0.11%
==========================================
Files 280 281 +1
Lines 21012 23849 +2837
==========================================
+ Hits 20294 23009 +2715
- Misses 718 840 +122 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
* See issue #67 where remote installs fails on MacOS due to missing C header files. The error is related to gettext (source: https://stackoverflow.com/questions/11370684/what-is-libintl-h-and-where-can-i-get-it) The issue have not been addressed in the repository before now as it was assumed to be related to the workflow itself - the failed run coincided with the release of R4.6.0 which turned out to be a false-positive as it still an existing issue. * Since the issue is most likely an upstream issue, the R-devel runs have been removed for all OSes and replaced with oldrel-2. Backwards compatibility is more imporant than experimental releases - if you decide to throw a development version of R against a package that deals with (potentially) expensive implementations, you have bigger things to worry about.
* This PR introduces a lookback function that wraps indicator_lookack that returns <NA> for invalid indicator and data pairs, and always minimum 1 (Can't calculate any indicators without data). The implementation differs from upstream in the way that upstream returns -1 for invalid pairs, and 0 for indicators that in reality does not need a lookback periods (C is 0-indexed). * The implementation required significant backend changes that has no effect on the interface. One such example is using `dim(x) <- NULL` for 1D-arrays instead of `as.double()`; this introduces the following changes: (1) unit-testing has been made more flexible so it tests for `is.integer()` simultaneously as the new approach preserves the underlying storage mode. (2) parity-tests have, for lookback-calculation(s), been adapted to the new calculation of lookbacks. See PR #71 for more details.
* The indicators on C-side were generated using two separate templates for candlestick and non-candlestick. These have been consolidated to ease future changes from upstream and possible interface changes and additions. * The lookback-functions on C-side now ignores ununused arguments to avoid compiler-warnings. The arguments have been kept to streamline function signatures on the R-side.
* Instead of relying on nested if-else statments, the if-else statements are heavily dependent on conditionals to be met.
* This is common knowledge: '<-' is for assignments its unclear when '=' was used in the code. But let this commit be testament to the commitment of correct use of assignment operators. - All hail the assignment operator.
* Without this, the documentation entry does not render.
It appears that {roxygen2} looks for the top-level entry as
the title, unless strictly typed.
* The example in lookback() were breaking because
there was an additional non-existing argument passed
into the downstream function.
* The (possible) fix is to let lookback() be strictly
typed, for the lack of better words, such that it fails
if the lookback signature doesn't match the downstream function
entirely.
This is probably not the best idea, but the lookback function is
a function for 'developers' that seeks to wrap {talib} and it is therefore
expected that the developer is familiar with the function(s).
Even for non-developer use-cases this implementation has its justification
in the sense that if there is a need to pre-calculate the lookback period
it must be due to critical infrastructure implementations, which in return, again,
requires familiarity with the function(s).
Bumps [src/ta-lib](https://github.com/TA-Lib/ta-lib) from `c042ea3` to `bffd837`. - [Release notes](https://github.com/TA-Lib/ta-lib/releases) - [Commits](TA-Lib/ta-lib@c042ea3...bffd837) --- updated-dependencies: - dependency-name: src/ta-lib dependency-version: bffd83732f0ab022a272ae6cd79d1ba6b32cc2ce dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [src/ta-lib](https://github.com/TA-Lib/ta-lib) from `bffd837` to `2247d59`. - [Release notes](https://github.com/TA-Lib/ta-lib/releases) - [Commits](TA-Lib/ta-lib@bffd837...2247d59) --- updated-dependencies: - dependency-name: src/ta-lib dependency-version: 2247d599bddf37ed37e3a709371517e46efc66f6 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR is a WIP.