Skip to content

Commit 1e84184

Browse files
authored
Merge branch 'stdlib-js:develop' into utils/delay
2 parents a2eae7e + 1983295 commit 1e84184

File tree

4 files changed

+114
-62
lines changed

4 files changed

+114
-62
lines changed

.github/workflows/run_tests_coverage.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,22 @@ jobs:
131131
if: github.event_name != 'workflow_dispatch'
132132
id: changed-directories
133133
continue-on-error: true
134+
env:
135+
STDLIB_BOT_GITHUB_TOKEN: ${{ secrets.STDLIB_BOT_GITHUB_TOKEN }}
134136
run: |
135137
if [ -n "${{ github.event.pull_request.number }}" ]; then
136138
# Get the list of changed files in pull request:
137-
ancestor_commit=$(git merge-base ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }})
138-
files=$(git diff --diff-filter=AM --name-only $ancestor_commit ${{ github.event.pull_request.head.sha }})
139+
page=1
140+
files=""
141+
while true; do
142+
changed_files=$(curl -s -H "Accept: application/vnd.github.v3+json" -H "Authorization: Bearer $STDLIB_BOT_GITHUB_TOKEN" "https://api.github.com/repos/stdlib-js/stdlib/pulls/${{ github.event.pull_request.number }}/files?page=$page&per_page=100" | jq -r '.[] | .filename')
143+
if [ -z "$changed_files" ]; then
144+
break
145+
fi
146+
files="$files $changed_files"
147+
page=$((page+1))
148+
done
149+
files=$(echo "$files" | tr '\n' ' ' | sed 's/ $//')
139150
else
140151
# Get changed files by comparing the current commit to the commit before the push event or with its parent:
141152
if [ "${{ github.event.before }}" == "0000000000000000000000000000000000000000" ]; then
@@ -205,8 +216,8 @@ jobs:
205216
repo: context.repo.repo,
206217
});
207218
208-
const isBotComment = comments.find(comment => comment.user.login === 'stdlib-bot' && comment.body.includes('## Coverage Report'));
209-
if (isBotComment) {
219+
const botComment = comments.find( comment => comment.user.login === 'stdlib-bot' && comment.body.includes( '## Coverage Report' ) );
220+
if ( botComment ) {
210221
await github.rest.issues.updateComment({
211222
owner: context.repo.owner,
212223
repo: context.repo.repo,

lib/node_modules/@stdlib/math/base/assert/is-prime/benchmark/c/native/benchmark.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,18 @@ static double rand_double( void ) {
9292
*/
9393
static double benchmark( void ) {
9494
double elapsed;
95-
double x;
95+
double x[ 100 ];
9696
double t;
9797
bool b;
9898
int i;
9999

100+
for ( i = 0; i < 100; i++ ) {
101+
x[ i ] = ( 200.0 * rand_double() );
102+
}
103+
100104
t = tic();
101105
for ( i = 0; i < ITERATIONS; i++ ) {
102-
x = ( rand_double() * 200.0 );
103-
b = stdlib_base_is_prime( x );
106+
b = stdlib_base_is_prime( x[ i % 100 ] );
104107
if ( b != true && b != false ) {
105108
printf( "should return either true or false\n" );
106109
break;

lib/node_modules/@stdlib/math/base/assert/is-prime/manifest.json

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{
2-
"options": {},
2+
"options": {
3+
"task": "build"
4+
},
35
"fields": [
46
{
57
"field": "src",
@@ -24,6 +26,7 @@
2426
],
2527
"confs": [
2628
{
29+
"task": "build",
2730
"src": [
2831
"./src/main.c"
2932
],
@@ -35,7 +38,42 @@
3538
"dependencies": [
3639
"@stdlib/math/base/special/sqrt",
3740
"@stdlib/math/base/special/floor",
38-
"@stdlib/constants/float64/max-safe-integer"
41+
"@stdlib/constants/float64/max-safe-integer",
42+
"@stdlib/math/base/special/fmod"
43+
]
44+
},
45+
{
46+
"task": "benchmark",
47+
"src": [
48+
"./src/main.c"
49+
],
50+
"include": [
51+
"./include"
52+
],
53+
"libraries": [],
54+
"libpath": [],
55+
"dependencies": [
56+
"@stdlib/math/base/special/sqrt",
57+
"@stdlib/math/base/special/floor",
58+
"@stdlib/constants/float64/max-safe-integer",
59+
"@stdlib/math/base/special/fmod"
60+
]
61+
},
62+
{
63+
"task": "examples",
64+
"src": [
65+
"./src/main.c"
66+
],
67+
"include": [
68+
"./include"
69+
],
70+
"libraries": [],
71+
"libpath": [],
72+
"dependencies": [
73+
"@stdlib/math/base/special/sqrt",
74+
"@stdlib/math/base/special/floor",
75+
"@stdlib/constants/float64/max-safe-integer",
76+
"@stdlib/math/base/special/fmod"
3977
]
4078
}
4179
]

lib/node_modules/@stdlib/math/base/assert/is-prime/src/main.c

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
#include "stdlib/math/base/special/sqrt.h"
2121
#include "stdlib/math/base/special/floor.h"
2222
#include "stdlib/constants/float64/max_safe_integer.h"
23+
#include "stdlib/math/base/special/fmod.h"
2324
#include <stdint.h>
24-
#include <math.h>
2525

2626
static const double WHEEL_PRIMES[45] = {
2727
11.0, 13.0, 17.0, 19.0, 23.0, 29.0, 31.0, 37.0, 41.0, 43.0, 47.0, 53.0, 59.0, 61.0, 67.0, 71.0, 73.0, 79.0, 83.0, 89.0, 97.0,
@@ -54,23 +54,23 @@ bool stdlib_base_is_prime( const double x ) {
5454
return ( x > 1.0 ); // primes: 2.0, 3.0
5555
}
5656
// Check whether the number is even...
57-
if ( x > STDLIB_CONSTANT_FLOAT64_MAX_SAFE_INTEGER || ( fmod( x, 2.0 ) ) == 0.0 ) {
57+
if ( x > STDLIB_CONSTANT_FLOAT64_MAX_SAFE_INTEGER || ( stdlib_base_fmod( x, 2.0 ) ) == 0.0 ) {
5858
return false;
5959
}
6060
// Check for small primes...
6161
if ( x < 9.0 ) {
6262
return true; // primes: 5.0, 7.0
6363
}
6464
// Check whether the number is evenly divisible by `3`...
65-
if ( fmod( x, 3.0 ) == 0.0 ) { // TODO: replace fmod usage once we have a stdlib equivalent
65+
if ( stdlib_base_fmod( x, 3.0 ) == 0.0 ) {
6666
return false;
6767
}
6868
// Check whether the number is evenly divisible by `5`...
69-
if ( fmod( x, 5.0 ) == 0.0 ) {
69+
if ( stdlib_base_fmod( x, 5.0 ) == 0.0 ) {
7070
return false;
7171
}
7272
// Check whether the number is evenly divisible by `7`...
73-
if ( fmod( x, 7.0 ) == 0.0 ) {
73+
if ( stdlib_base_fmod( x, 7.0 ) == 0.0 ) {
7474
return false;
7575
}
7676
// Check whether the number is a prime number in the wheel...
@@ -83,54 +83,54 @@ bool stdlib_base_is_prime( const double x ) {
8383
N = stdlib_base_floor( stdlib_base_sqrt( x ) );
8484
for ( i = 11; i <= N; i += 210 ) {
8585
if (
86-
fmod( x, i ) == 0.0 || // 11
87-
fmod( x, ( i + 2 ) ) == 0.0 || // 13
88-
fmod( x, ( i + 6 ) ) == 0.0 || // 17
89-
fmod( x, ( i + 8 ) ) == 0.0 || // 19
90-
fmod( x, ( i + 12 ) ) == 0.0 || // 23
91-
fmod( x, ( i + 18 ) ) == 0.0 || // 29
92-
fmod( x, ( i + 20 ) ) == 0.0 || // 31
93-
fmod( x, ( i + 26 ) ) == 0.0 || // 37
94-
fmod( x, ( i + 30 ) ) == 0.0 || // 41
95-
fmod( x, ( i + 32 ) ) == 0.0 || // 43
96-
fmod( x, ( i + 36 ) ) == 0.0 || // 47
97-
fmod( x, ( i + 42 ) ) == 0.0 || // 53
98-
fmod( x, ( i + 48 ) ) == 0.0 || // 59
99-
fmod( x, ( i + 50 ) ) == 0.0 || // 61
100-
fmod( x, ( i + 56 ) ) == 0.0 || // 67
101-
fmod( x, ( i + 60 ) ) == 0.0 || // 71
102-
fmod( x, ( i + 62 ) ) == 0.0 || // 73
103-
fmod( x, ( i + 68 ) ) == 0.0 || // 79
104-
fmod( x, ( i + 72 ) ) == 0.0 || // 83
105-
fmod( x, ( i + 78 ) ) == 0.0 || // 89
106-
fmod( x, ( i + 86 ) ) == 0.0 || // 97
107-
fmod( x, ( i + 90 ) ) == 0.0 || // 101
108-
fmod( x, ( i + 92 ) ) == 0.0 || // 103
109-
fmod( x, ( i + 96 ) ) == 0.0 || // 107
110-
fmod( x, ( i + 98 ) ) == 0.0 || // 109
111-
fmod( x, ( i + 102 ) ) == 0.0 || // 113
112-
fmod( x, ( i + 110 ) ) == 0.0 || // 121 (relatively prime)
113-
fmod( x, ( i + 116 ) ) == 0.0 || // 127
114-
fmod( x, ( i + 120 ) ) == 0.0 || // 131
115-
fmod( x, ( i + 126 ) ) == 0.0 || // 137
116-
fmod( x, ( i + 128 ) ) == 0.0 || // 139
117-
fmod( x, ( i + 132 ) ) == 0.0 || // 143 (relatively prime)
118-
fmod( x, ( i + 138 ) ) == 0.0 || // 149
119-
fmod( x, ( i + 140 ) ) == 0.0 || // 151
120-
fmod( x, ( i + 146 ) ) == 0.0 || // 157
121-
fmod( x, ( i + 152 ) ) == 0.0 || // 163
122-
fmod( x, ( i + 156 ) ) == 0.0 || // 167
123-
fmod( x, ( i + 158 ) ) == 0.0 || // 169 (relatively prime)
124-
fmod( x, ( i + 162 ) ) == 0.0 || // 173
125-
fmod( x, ( i + 168 ) ) == 0.0 || // 179
126-
fmod( x, ( i + 170 ) ) == 0.0 || // 181
127-
fmod( x, ( i + 176 ) ) == 0.0 || // 187 (relatively prime)
128-
fmod( x, ( i + 180 ) ) == 0.0 || // 191
129-
fmod( x, ( i + 182 ) ) == 0.0 || // 193
130-
fmod( x, ( i + 186 ) ) == 0.0 || // 197
131-
fmod( x, ( i + 188 ) ) == 0.0 || // 199
132-
fmod( x, ( i + 198 ) ) == 0.0 || // 209 (relatively prime)
133-
fmod( x, ( i + 200 ) ) == 0.0 // 211
86+
stdlib_base_fmod( x, i ) == 0.0 || // 11
87+
stdlib_base_fmod( x, ( i + 2 ) ) == 0.0 || // 13
88+
stdlib_base_fmod( x, ( i + 6 ) ) == 0.0 || // 17
89+
stdlib_base_fmod( x, ( i + 8 ) ) == 0.0 || // 19
90+
stdlib_base_fmod( x, ( i + 12 ) ) == 0.0 || // 23
91+
stdlib_base_fmod( x, ( i + 18 ) ) == 0.0 || // 29
92+
stdlib_base_fmod( x, ( i + 20 ) ) == 0.0 || // 31
93+
stdlib_base_fmod( x, ( i + 26 ) ) == 0.0 || // 37
94+
stdlib_base_fmod( x, ( i + 30 ) ) == 0.0 || // 41
95+
stdlib_base_fmod( x, ( i + 32 ) ) == 0.0 || // 43
96+
stdlib_base_fmod( x, ( i + 36 ) ) == 0.0 || // 47
97+
stdlib_base_fmod( x, ( i + 42 ) ) == 0.0 || // 53
98+
stdlib_base_fmod( x, ( i + 48 ) ) == 0.0 || // 59
99+
stdlib_base_fmod( x, ( i + 50 ) ) == 0.0 || // 61
100+
stdlib_base_fmod( x, ( i + 56 ) ) == 0.0 || // 67
101+
stdlib_base_fmod( x, ( i + 60 ) ) == 0.0 || // 71
102+
stdlib_base_fmod( x, ( i + 62 ) ) == 0.0 || // 73
103+
stdlib_base_fmod( x, ( i + 68 ) ) == 0.0 || // 79
104+
stdlib_base_fmod( x, ( i + 72 ) ) == 0.0 || // 83
105+
stdlib_base_fmod( x, ( i + 78 ) ) == 0.0 || // 89
106+
stdlib_base_fmod( x, ( i + 86 ) ) == 0.0 || // 97
107+
stdlib_base_fmod( x, ( i + 90 ) ) == 0.0 || // 101
108+
stdlib_base_fmod( x, ( i + 92 ) ) == 0.0 || // 103
109+
stdlib_base_fmod( x, ( i + 96 ) ) == 0.0 || // 107
110+
stdlib_base_fmod( x, ( i + 98 ) ) == 0.0 || // 109
111+
stdlib_base_fmod( x, ( i + 102 ) ) == 0.0 || // 113
112+
stdlib_base_fmod( x, ( i + 110 ) ) == 0.0 || // 121 (relatively prime)
113+
stdlib_base_fmod( x, ( i + 116 ) ) == 0.0 || // 127
114+
stdlib_base_fmod( x, ( i + 120 ) ) == 0.0 || // 131
115+
stdlib_base_fmod( x, ( i + 126 ) ) == 0.0 || // 137
116+
stdlib_base_fmod( x, ( i + 128 ) ) == 0.0 || // 139
117+
stdlib_base_fmod( x, ( i + 132 ) ) == 0.0 || // 143 (relatively prime)
118+
stdlib_base_fmod( x, ( i + 138 ) ) == 0.0 || // 149
119+
stdlib_base_fmod( x, ( i + 140 ) ) == 0.0 || // 151
120+
stdlib_base_fmod( x, ( i + 146 ) ) == 0.0 || // 157
121+
stdlib_base_fmod( x, ( i + 152 ) ) == 0.0 || // 163
122+
stdlib_base_fmod( x, ( i + 156 ) ) == 0.0 || // 167
123+
stdlib_base_fmod( x, ( i + 158 ) ) == 0.0 || // 169 (relatively prime)
124+
stdlib_base_fmod( x, ( i + 162 ) ) == 0.0 || // 173
125+
stdlib_base_fmod( x, ( i + 168 ) ) == 0.0 || // 179
126+
stdlib_base_fmod( x, ( i + 170 ) ) == 0.0 || // 181
127+
stdlib_base_fmod( x, ( i + 176 ) ) == 0.0 || // 187 (relatively prime)
128+
stdlib_base_fmod( x, ( i + 180 ) ) == 0.0 || // 191
129+
stdlib_base_fmod( x, ( i + 182 ) ) == 0.0 || // 193
130+
stdlib_base_fmod( x, ( i + 186 ) ) == 0.0 || // 197
131+
stdlib_base_fmod( x, ( i + 188 ) ) == 0.0 || // 199
132+
stdlib_base_fmod( x, ( i + 198 ) ) == 0.0 || // 209 (relatively prime)
133+
stdlib_base_fmod( x, ( i + 200 ) ) == 0.0 // 211
134134
) {
135135
return false;
136136
}

0 commit comments

Comments
 (0)