[Git][cmucl/cmucl][issue-435-add-core-math-lisp-support] 5 commits: Fix #476: Disable scheduled CI pipelines for analyzer
Raymond Toy pushed to branch issue-435-add-core-math-lisp-support at cmucl / cmucl Commits: 17bef122 by Raymond Toy at 2026-02-26T19:54:09-08:00 Fix #476: Disable scheduled CI pipelines for analyzer - - - - - 8034ae1f by Raymond Toy at 2026-02-26T19:54:09-08:00 Merge branch 'issue-476-disable-ci-scheduled-analyzer-link-checker' into 'master' Fix #476: Disable scheduled CI pipelines for analyzer Closes #476 See merge request cmucl/cmucl!358 - - - - - 0419b894 by Raymond Toy at 2026-02-26T20:04:31-08:00 Update cmucl.pot - - - - - 3e9d397c by Raymond Toy at 2026-02-26T20:04:59-08:00 Forgot to implement lisp_log2 and lisp_log2f We have lisp_log2 for fdlibm version of log2 (in log2.c). But we forgot earlier to implement support using core-math log2. Therefore: * Update fdlibm.h to define fdlibm_log2. * Add lisp_log2 and lisp_log2f in irrat.c, calling core-math or fdlibm and declare cr_log2 and cr_log2f * Rename lisp_log2 in log2.c to fdlibm_log2. - - - - - 312f6839 by Raymond Toy at 2026-02-26T20:07:36-08:00 Merge branch 'master' into issue-435-add-core-math-lisp-support - - - - - 5 changed files: - .gitlab-ci.yml - src/i18n/locale/cmucl.pot - src/lisp/fdlibm.h - src/lisp/irrat.c - src/lisp/log2.c Changes: ===================================== .gitlab-ci.yml ===================================== @@ -129,15 +129,6 @@ linux:install: variables: osname: "linux" CURL: "curl" - # These rules are needed so that the static analyzer job can run on a - # schedule because this is a prerequisite of the analyzer build. A - # regular push or merge request does the normal stuff. - rules: - - if: $CI_PIPELINE_SOURCE == "schedule" - - if: $CI_PIPELINE_SOURCE == "push" - - if: $CI_PIPELINE_SOURCE == "merge_request_event" - - if: $CI_PIPELINE_SOURCE == "branch" - - if: $CI_PIPELINE_SOURCE == "web" linux:build: <<: *build_configuration @@ -150,14 +141,6 @@ linux:build: # Fedora 41 must build with gcc because the clang build fails some # ansi-tests. See [#469]. CONFIG: "x86_linux" - # These rules is needed so that the static analyzer job can run on a - # schedule because this is a prerequisite of the analyzer build. A - # regular push or merge request does the normal stuff. - rules: - - if: $CI_PIPELINE_SOURCE == "schedule" - - if: $CI_PIPELINE_SOURCE == "push" - - if: $CI_PIPELINE_SOURCE == "merge_request_event" - - if: $CI_PIPELINE_SOURCE == "web" linux:cross-build: stage: build @@ -301,18 +284,6 @@ osx:benchmark: # the linux-4 directory built in the linux:build job. linux:static-analyzer: stage: analyze - # The analyzer is a manual job that isn't normally run. These rules - # make that happen, but when the pipeline is scheduled we do run the - # analyzer. - rules: - - if: $CI_PIPELINE_SOURCE == "schedule" - - if: $CI_PIPELINE_SOURCE == "merge_request_event" - when: manual - allow_failure: true - - if: $CI_PIPELINE_SOURCE == "push" - when: manual - allow_failure: true - tags: - linux @@ -323,6 +294,7 @@ linux:static-analyzer: needs: - job: linux:build artifacts: true + when: manual script: # Analysis can generate huge amounts of output. For now just save # the results to the log file instead of also having it go to the @@ -378,22 +350,14 @@ ubuntu:ansi-test: # Checks links on the wiki pages whenever any wiki markdown pages change. markdown-link-check: stage: markdown-link-check - # Run the checker when the pipeline is scheduled to run. - # It's ok if this fails; we don't want to declare the entire - # pipeline as having failed. - rules: - - if: $CI_PIPELINE_SOURCE == "schedule" - allow_failure: true - - if: $CI_PIPELINE_SOURCE == "merge_request_event" - when: manual - allow_failure: true - - if: $CI_PIPELINE_SOURCE == "push" - when: manual - allow_failure: true # Only the linux runner has markdown-link-check installed tags: - linux + when: manual + # It's ok if this fails; we don't want to declare the entire + # pipeline as having failed. + allow_failure: true script: # Check links in the main repo - find . -name \*.md -print0 | xargs -0 -n1 markdown-link-check ===================================== src/i18n/locale/cmucl.pot ===================================== @@ -5084,6 +5084,10 @@ msgstr "" msgid "Return the arc sine of NUMBER." msgstr "" +#: src/code/irrat.lisp +msgid "Execution of a form compiled with errors:~% ~S" +msgstr "" + #: src/code/irrat.lisp msgid "Return the arc cosine of NUMBER." msgstr "" ===================================== src/lisp/fdlibm.h ===================================== @@ -69,6 +69,7 @@ extern double __ieee754_log10(double x); extern double __ieee754_pow(double x, double y); extern double __ieee754_hypot(double x, double y); extern double fdlibm_scalbn(double x, int n); +extern double fdlibm_log2(double x); enum FDLIBM_EXCEPTION { FDLIBM_DIVIDE_BY_ZERO, ===================================== src/lisp/irrat.c ===================================== @@ -32,6 +32,7 @@ extern double cr_hypot(double, double); extern double cr_log1p(double); extern double cr_expm1(double); extern void cr_sincos(double, double *, double *); +extern double cr_log2(double); extern float cr_sinf(float); extern float cr_cosf(float); @@ -54,6 +55,7 @@ extern float cr_hypotf(float, float); extern float cr_log1pf(float); extern float cr_expm1f(float); extern void cr_sincosf(float, float *, float *); +extern float cr_log2f(float); #endif @@ -330,6 +332,16 @@ lisp_sincos(double x, double *s, double *c) #endif } +double +lisp_log2(double x) +{ +#ifdef FEATURE_CORE_MATH + return cr_log2(x); +#else + return fdlibm_log2(x); +#endif +} + /* * The single-float versions of the special functions. When core-math * is set, we use the single-float core-math functions. Otherwise, we @@ -562,3 +574,13 @@ lisp_sincosf(float x, float *s, float *c) *c = (float) dc; #endif } + +float +lisp_log2f(float x) +{ +#ifdef FEATURE_CORE_MATH + return cr_log2f(x); +#else + return (float) fdlibm_log2((double) x); +#endif +} ===================================== src/lisp/log2.c ===================================== @@ -39,7 +39,7 @@ cp = 9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */ cp_h = 9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */ cp_l = -7.02846165095275826516e-09; /* 0xBE3E2FE0, 0x145B01F5 =tail of cp_h*/ -double lisp_log2(double x) +double fdlibm_log2(double x) { double ax; int k, hx, lx, ix; View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/e244f40ec8129e47a34abdb... -- View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/e244f40ec8129e47a34abdb... You're receiving this email because of your account on gitlab.common-lisp.net.
participants (1)
-
Raymond Toy (@rtoy)