Skip to content

Commit f8cccb2

Browse files
authored
Merge branch 'develop' into migrate-math-base-ops-divf
Signed-off-by: Athan <[email protected]>
2 parents 72c6513 + a3684ad commit f8cccb2

File tree

286 files changed

+8971
-1220
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

286 files changed

+8971
-1220
lines changed

.github/workflows/autoclose.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
BODY: |
5959
Thank you for working on this pull request. However, we cannot accept your contribution as this pull request does not follow our [contributing guidelines](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md).
6060
61-
Per the guidelines outlined in our [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md), you should download and setup [EditorConfig](http://editorconfig.org/) to ensure that files are automatically configured to use expected indentation and line endings.
61+
Per the guidelines outlined in our [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/development.md), you should download and setup [EditorConfig](http://editorconfig.org/) to ensure that files are automatically configured to use expected indentation and line endings.
6262
6363
If you would prefer to avoid manual setup, you could also consider using a pre-configured [development container](https://github.com/stdlib-js/stdlib/tree/develop/.devcontainer) for use locally or in GitHub Codespaces.
6464
@@ -94,7 +94,7 @@ jobs:
9494
BODY: |
9595
Thank you for working on this pull request. However, we cannot accept your contribution as this pull request does not follow our [contributing guidelines](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md).
9696
97-
Per the guidelines outlined in our [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md), you should have setup your local development environment such that automated development processes for linting, license verification, and unit testing can run prior to authoring commits and pushing changes. We encourage you to refer to that guide **before** continuing to work on this pull request.
97+
Per the guidelines outlined in our [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/development.md), you should have setup your local development environment such that automated development processes for linting, license verification, and unit testing can run prior to authoring commits and pushing changes. We encourage you to refer to that guide **before** continuing to work on this pull request.
9898
9999
If you would prefer to avoid manual setup, you could also consider using a pre-configured [development container](https://github.com/stdlib-js/stdlib/tree/develop/.devcontainer) for use locally or in GitHub Codespaces.
100100

.github/workflows/good_first_issue.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
1. **You cannot "claim" issues.** People new to open source often want to "claim" or be assigned an issue before beginning work. The typical rationale is that people want to avoid wasted work in the event that someone else ends up working the issue. However, this practice is not effective in open source, as it often leads to "issue squatting", in which an individual asks to be assigned, is granted their request, and then never ends up working on the issue. Accordingly, you are encouraged to communicate your intent to address this issue, ideally by providing a rough outline as to how you plan to address the issue or asking clarifying questions, but, at the end of the day, we will take running code and rough consensus in order to move forward quickly.
6666
2. **We have a very high bar for contributions.** We have very high standards for contributions and expect all contributions—whether new features, tests, or documentation—to be rigorous, thorough, and complete. Once a pull request is merged into stdlib, that contribution immediately becomes the collective responsibility of all maintainers of stdlib. When we merge code into stdlib, we are saying that we, the maintainers, commit to reviewing subsequent changes and making bugfixes to the code. Hence, in order to ensure future maintainability, this naturally leads to a higher standard of contribution.
6767
68-
Before working on this issue and opening a pull request, please read the project's [contributing guidelines](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md). These guidelines and the associated [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) provide important information, including links to stdlib's [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md), license policy, and steps for setting up your local development environment.
68+
Before working on this issue and opening a pull request, please read the project's [contributing guidelines](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md). These guidelines and the associated [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/development.md) provide important information, including links to stdlib's [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md), license policy, and steps for setting up your local development environment.
6969
7070
To reiterate, we **strongly** encourage you to refer to our contributing guides **before** beginning work on this issue. Failure to follow our guidelines significantly decreases the likelihood that you'll successfully contribute to stdlib and may result in automatic closure of a pull request without review.
7171

.github/workflows/labeler_needs_changes.yml

-61
This file was deleted.

.github/workflows/lint_random_files.yml

+8-2
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ jobs:
199199
- name: 'Lint against EditorConfig'
200200
id: lint-editorconfig
201201
run: |
202+
set -o pipefail
202203
files=$(echo "${{ steps.random-files.outputs.files }}" | tr ',' ' ')
203204
make lint-editorconfig-files FILES="${files}" 2>&1 | tee lint_editorconfig_errors.txt
204205
@@ -208,6 +209,10 @@ jobs:
208209
env:
209210
GITHUB_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
210211
run: |
212+
strip_ansi() {
213+
sed -r 's/\x1B\[[0-9;]*[mK]//g'
214+
}
215+
211216
BODY_FILE="$GITHUB_WORKSPACE/lint_issue_body.md"
212217
cat << EOF > "$BODY_FILE"
213218
## EditorConfig Linting Failures
@@ -223,14 +228,15 @@ jobs:
223228
### Error Details
224229
225230
\`\`\`
226-
$(cat lint_editorconfig_errors.txt)
231+
$(cat lint_editorconfig_errors.txt | strip_ansi)
227232
\`\`\`
228233
EOF
229234
230235
. "$GITHUB_WORKSPACE/.github/workflows/scripts/create_sub_issue" \
231236
'Fix EditorConfig lint errors' \
232237
"$BODY_FILE" \
233-
"5156"
238+
"5156" \
239+
"Good First Issue"
234240
235241
rm "$BODY_FILE"
236242

.github/workflows/scripts/run_affected_benchmarks

+7-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,13 @@ main() {
143143

144144
# Run C benchmarks:
145145
echo "Finding C benchmark files in ${directories}..."
146-
c_bench_files=$(find "${directories}" -maxdepth 4 -wholename '**/benchmark/c/benchmark*.c' -exec realpath {} \; | grep -v '/fixtures/' | sort -u | tr '\n' ' ') || true
146+
c_bench_files=$(find "${directories}" -maxdepth 5 \( -wholename '**/benchmark/c/benchmark*.c' -or -wholename '**/benchmark/c/**/benchmark*.c' \) -exec realpath {} \; | grep -v '/fixtures/' | sort -u | tr '\n' ' ') || true
147+
148+
# If benchmarks requiring Cephes are found, install the Cephes library:
149+
c_cephes_makefiles=$(find "${directories}" -maxdepth 5 -wholename '**/benchmark/c/**/Makefile' -exec grep -l 'CEPHES' {} + || true)
150+
if [ -n "${c_cephes_makefiles}" ]; then
151+
make install-deps-cephes
152+
fi
147153

148154
if [ -n "${c_bench_files}" ]; then
149155
make benchmark-c-files FILES="${c_bench_files}"

.github/workflows/scripts/run_affected_tests

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ main() {
151151
done
152152

153153
# Find all test files in package directories:
154-
files=$(find ${directories} -maxdepth 2 -wholename '**/test/test*.js' | grep -v '/fixtures/' | sort -u | tr '\n' ' ') || true
154+
files=$(find ${directories} -maxdepth 3 \( -wholename '**/test/test*.js' -or -wholename '**/test/**/test*.js' \) | grep -v '/fixtures/' | sort -u | tr '\n' ' ') || true
155155

156156
# Exclude files residing in test fixtures directories:
157157
files=$(echo "${files}" | grep -v '/fixtures/') || true

.tours/contributor-overview.tour

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
"line": 1
1515
},
1616
{
17-
"file": "docs/development.md",
18-
"description": "To setup your development environment, follow the steps in the `docs/development.md` file or use the VSCode development container.",
17+
"file": "docs/contributing/development.md",
18+
"description": "To setup your development environment, follow the steps in the `docs/contributing/development.md` file or use the VSCode development container.",
1919
"line": 21
2020
},
2121
{

CONTRIBUTING.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -435,15 +435,15 @@ Phew. While the above may be a lot to remember, even for what seem like minor ch
435435

436436
[stdlib-style-guides-git]: https://github.com/stdlib-js/stdlib/blob/develop/docs/style-guides/git
437437

438-
[stdlib-doctest]: https://github.com/stdlib-js/stdlib/blob/develop/docs/doctest.md
438+
[stdlib-doctest]: https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/doctest.md
439439

440-
[stdlib-development]: https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md
440+
[stdlib-development]: https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/development.md
441441

442-
[stdlib-branching]: https://github.com/stdlib-js/stdlib/blob/develop/docs/branching.md
442+
[stdlib-branching]: https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/branching.md
443443

444-
[stdlib-packages]: https://github.com/stdlib-js/stdlib/blob/develop/docs/packages.md
444+
[stdlib-packages]: https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/packages.md
445445

446-
[stdlib-repl-text]: https://github.com/stdlib-js/stdlib/blob/develop/docs/repl_text.md
446+
[stdlib-repl-text]: https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/repl_text.md
447447

448448
[stdlib-faq]: https://github.com/stdlib-js/stdlib/blob/develop/FAQ.md
449449

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -766,7 +766,7 @@ Test and build infrastructure is generously provided by the following services:
766766
767767
[stdlib-contributing]: https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md
768768
769-
[stdlib-development]: https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md
769+
[stdlib-development]: https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/development.md
770770
771771
[stdlib-authors]: https://github.com/stdlib-js/stdlib/graphs/contributors
772772
Loading

docs/branching.md renamed to docs/contributing/branching.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ This project follows the branching model articulated in ["A successful Git branc
105105

106106
- Before merging a hotfix branch into the `master` branch, the changes **must** be peer reviewed and pass continuous integration tests.
107107

108-
- Once merged into `master`, if a release branch currently exists, submit a pull request against the `release` branch. Otherwise, submit a pull request against the `develop` branch. By merging a hotfix into a release branch, the hotfix changes should be propagated to the `develop` branch upon merging the release branch into the `develop` branch.
108+
- Once merged into `master`, if a release branch currently exists, submit a pull request against the `release` branch. Otherwise, submit a pull request against the `develop` branch. By merging a hotfix into a release branch, the hotfix changes should be propagated to the `develop` branch upon merging the release branch into the `develop` branch.
109109

110110
* * *
111111

docs/development.md renamed to docs/contributing/development.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -254,15 +254,14 @@ workshops workshops
254254
```bash
255255
$ make TESTS_FILTER=.*/<pattern>/.* test
256256
```
257-
257+
258258
with
259259
260260
<!-- run-disable -->
261261
262262
```bash
263263
$ make TESTS_FILTER=".*/<pattern>/.*" test
264264
```
265-
266265
267266
## Editors
268267

docs/doctest.md renamed to docs/contributing/doctest.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ The following guide sets forth doctest conventions for documenting expected beha
4848

4949
A doctest annotation is a syntactically valid language comment consisting of a **marker** and an **expected value**.
5050

51-
> **Note**: most of the following examples will be written in JavaScript which uses C-style comment syntax. While invariably biased toward JavaScript, the doctest annotation convention endeavors to be language agnostic and not limited to any particular comment style.
51+
> **Note**: most of the following examples will be written in JavaScript which uses C-style comment syntax. While invariably biased toward JavaScript, the doctest annotation convention endeavors to be language agnostic and not limited to any particular comment style.
5252
5353
Doctest annotations begin with one of three keyword markers (with limited exceptions documented below):
5454

@@ -129,7 +129,7 @@ swap( x, 0, 1 );
129129
// x => [ 2, 1 ]
130130
```
131131

132-
indicates that the two-element array to which `x` refers has been mutated after evaluation of the preceding expressions. In this case, as `swap()` returns a `boolean`, the `returns` keyword would not allow us to assert the more salient behavior of array mutation. By using the `{var} =>` convention, we can do so.
132+
indicates that the two-element array to which `x` refers has been mutated after evaluation of the preceding expressions. In this case, as `swap()` returns a `boolean`, the `returns` keyword would not allow us to assert the more salient behavior of array mutation. By using the `{var} =>` convention, we can do so.
133133

134134
The `e.g.,` and `{var} =>` prefixes can be used in combination. For example,
135135

@@ -602,7 +602,7 @@ var mat = foo();
602602
603603
indicates that `foo()` returns an `NxM` matrix containing a `2x2` sub-matrix beginning with the first row and second column whose contents, when expressed as a linear array, equal `1.14`, `-3.14`, `0.00`, and `0.50`.
604604
605-
Additionally, matrices can include wildcards. For example,
605+
Additionally, matrices can include wildcards. For example,
606606
607607
<!-- run-disable -->
608608

docs/gfortran.md renamed to docs/contributing/gfortran.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ double precision function add( x, y )
114114
end function add
115115
```
116116

117-
While `add` may be used in conjunction with other Fortran files, we cannot use `add` directly from C because Fortran expects arguments to be passed by reference rather than by value. Furthermore, while not applicable here, Fortran functions can only return scalar values, not arrays. Thus, the general best practice is to wrap `add` as a subroutine (equivalent of a C function returning `(void)`), where we can pass a pointer for storing the output return value.
117+
While `add` may be used in conjunction with other Fortran files, we cannot use `add` directly from C because Fortran expects arguments to be passed by reference rather than by value. In general, for functions accepting and returning scalars, best practice is to wrap `add` as a subroutine (equivalent of a C function returning `(void)`), where we can pass a pointer for storing the output return value.
118118

119119
```fortran
120120
!>
@@ -172,7 +172,7 @@ where we prevent name mangling using `extern "C"`. Now that our Fortran code is
172172
double c_add( const double x, const double y ) {
173173
double sum;
174174
addsub( &x, &y, &sum );
175-
return sum;
175+
return sum;
176176
}
177177
```
178178

docs/misc/javascript_quirks.md renamed to docs/contributing/javascript_quirks.md

+21-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
<!--
2+
3+
@license Apache-2.0
4+
5+
Copyright (c) 2025 The Stdlib Authors.
6+
7+
Licensed under the Apache License, Version 2.0 (the "License");
8+
you may not use this file except in compliance with the License.
9+
You may obtain a copy of the License at
10+
11+
http://www.apache.org/licenses/LICENSE-2.0
12+
13+
Unless required by applicable law or agreed to in writing, software
14+
distributed under the License is distributed on an "AS IS" BASIS,
15+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
See the License for the specific language governing permissions and
17+
limitations under the License.
18+
19+
-->
20+
121
# JavaScript Quirks
222

323
> A list of JavaScript quirks which should be kept in mind when writing implementations.
@@ -26,4 +46,4 @@
2646

2747
[java-math-round]: https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#round%28double%29
2848

29-
</section>
49+
</section>

0 commit comments

Comments
 (0)