-
-
Notifications
You must be signed in to change notification settings - Fork 805
feat: add c implementation for @stdlib/stats/base/dists/logistic/entropy
#4385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
feat: add c implementation for @stdlib/stats/base/dists/logistic/entropy
#4385
Conversation
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: passed - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: passed - task: lint_c_examples status: passed - task: lint_c_benchmarks status: passed - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na ---
Coverage Report
The above coverage report was generated for the changes in this PR. |
I noticed your PR description contains closing keywords ("Resolves", "Closes", or "Fixes") referencing a "Tracking Issue". Why this matters: Required action: Thank you for your contribution to the project! |
Signed-off-by: Philipp Burckhardt <pburckhardt@outlook.com>
double stdlib_base_dists_logistic_entropy( const double mu, const double s ); | ||
``` | ||
|
||
</section> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing newlines here and below between section tags, headings, and the like.
mu = new Float64Array( len ); | ||
s = new Float64Array( len ); | ||
for ( i = 0; i < len; i++ ) { | ||
mu[ i ] = ( randu() * 100.0 ) - 50.0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to update this to draw the random numbers directly from the desired uniform
distribution.
/** | ||
* Returns the differential entropy for a logistic distribution with location `mu` and scale `s`. | ||
* | ||
* @param {number} mu - location parameter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JSDoc here should be replaced with C Doxygen-style comments.
* | ||
* @param {number} mu - location parameter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* | |
* @param {number} mu - location parameter | |
* | |
* @private | |
* @param {number} mu - location parameter |
mu[ i ] = random_uniform( 0.0, 100.0 ) - 50.0; | ||
s[ i ] = random_uniform( 0.0, 20.0 ) + STDLIB_CONSTANT_FLOAT64_EPS; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mu[ i ] = random_uniform( 0.0, 100.0 ) - 50.0; | |
s[ i ] = random_uniform( 0.0, 20.0 ) + STDLIB_CONSTANT_FLOAT64_EPS; | |
mu[ i ] = random_uniform( -50.0, 50.0 ); | |
s[ i ] = random_uniform( STDLIB_CONSTANT_FLOAT64_EPS, 20.0 ); |
mu = random_uniform( 0.0, 10.0 ) - 5.0; | ||
s = random_uniform( 0.0, 20.0 ); | ||
y = stdlib_base_dists_logistic_entropy( mu, s ); | ||
printf( "µ: %lf, s: %lf, Ent(X;µ,s): %lf\n", mu, s, y ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
printf( "µ: %lf, s: %lf, Ent(X;µ,s): %lf\n", mu, s, y ); | |
printf( "µ: %lf, s: %lf, h(X;µ,s): %lf\n", mu, s, y ); |
mu = random_uniform( 0.0, 10.0 ) - 5.0; | ||
s = random_uniform( 0.0, 20.0 ); | ||
y = stdlib_base_dists_logistic_entropy( mu, s ); | ||
printf( "µ: %lf, s: %lf, Ent(X;µ,s): %lf\n", mu, s, y ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
printf( "µ: %lf, s: %lf, Ent(X;µ,s): %lf\n", mu, s, y ); | |
printf( "µ: %lf, s: %lf, h(X;µ,s): %lf\n", mu, s, y ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR!
Flagged a bunch of issues that will have to be addressed before it can move forward. Similar changes are likely need in other PRs of yours such as #4391, too.
/stdlib update-copyright-years |
Resolves #3734 .
Description
This pull request:
@stdlib/stats/base/dists/logistic/entropy
Related Issues
This pull request:
@stdlib/stats/base/dists/logistic/entropy
#3734Questions
No.
Other
No.
Checklist
@stdlib-js/reviewers