Skip to content

Commit 01f8e7f

Browse files
committed
formatting improvements
1 parent 5bbc4d5 commit 01f8e7f

27 files changed

+1573
-1481
lines changed

.vs/VSWorkspaceState.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"ExpandedNodes": [
3+
"",
4+
"\\src"
5+
],
6+
"SelectedNode": "\\src\\bmerge.c",
7+
"PreviewInSolutionExplorer": false
8+
}
Binary file not shown.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"Version": 1,
3+
"WorkspaceRootPath": "E:\\data.table\\",
4+
"Documents": [
5+
{
6+
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|E:\\data.table\\src\\bmerge.c||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
7+
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\bmerge.c||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
8+
}
9+
],
10+
"DocumentGroupContainers": [
11+
{
12+
"Orientation": 0,
13+
"VerticalTabListWidth": 256,
14+
"DocumentGroups": [
15+
{
16+
"DockedWidth": 200,
17+
"SelectedChildIndex": 1,
18+
"Children": [
19+
{
20+
"$type": "Bookmark",
21+
"Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}"
22+
},
23+
{
24+
"$type": "Document",
25+
"DocumentIndex": 0,
26+
"Title": "bmerge.c",
27+
"DocumentMoniker": "E:\\data.table\\src\\bmerge.c",
28+
"RelativeDocumentMoniker": "src\\bmerge.c",
29+
"ToolTip": "E:\\data.table\\src\\bmerge.c",
30+
"RelativeToolTip": "src\\bmerge.c",
31+
"ViewState": "AgIAAFIBAAAAAAAAAAAAANEBAAAJAAAAAAAAAA==",
32+
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000423|",
33+
"WhenOpened": "2025-06-06T11:32:43.611Z",
34+
"EditorCaption": ""
35+
}
36+
]
37+
}
38+
]
39+
}
40+
]
41+
}

src/assign.c

Lines changed: 1177 additions & 1135 deletions
Large diffs are not rendered by default.

src/between.c

Lines changed: 57 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ SEXP between(SEXP x, SEXP lower, SEXP upper, SEXP incbounds, SEXP NAboundsArg, S
1212
if (!nx || !nl || !nu)
1313
return (allocVector(LGLSXP, 0));
1414
const int longest = MAX(MAX(nx, nl), nu);
15-
if ((nl!=1 && nl!=longest) ||
16-
(nu!=1 && nu!=longest) ||
17-
(nx!=1 && nx!=longest)) {
15+
if ((nl != 1 && nl != longest) ||
16+
(nu != 1 && nu != longest) ||
17+
(nx != 1 && nx != longest)) {
1818
error(_("Incompatible vector lengths: length(x)==%d length(lower)==%d length(upper)==%d. Each should be either length 1 or the length of the longest."), nx, nl, nu);
1919
}
2020
const int longestBound = MAX(nl, nu); // just for when check=TRUE
2121
if (!IS_TRUE_OR_FALSE(incbounds))
2222
error(_("%s must be TRUE or FALSE"), "incbounds");
2323
const bool open = !LOGICAL(incbounds)[0];
24-
if (!isLogical(NAboundsArg) || LOGICAL(NAboundsArg)[0]==FALSE)
24+
if (!isLogical(NAboundsArg) || LOGICAL(NAboundsArg)[0] == FALSE)
2525
error(_("NAbounds must be TRUE or NA"));
26-
const bool NAbounds = LOGICAL(NAboundsArg)[0]==TRUE;
26+
const bool NAbounds = LOGICAL(NAboundsArg)[0] == TRUE;
2727
if (!IS_TRUE_OR_FALSE(checkArg))
2828
error(_("%s must be TRUE or FALSE"), "check");
2929
const bool check = LOGICAL(checkArg)[0];
@@ -49,43 +49,43 @@ SEXP between(SEXP x, SEXP lower, SEXP upper, SEXP incbounds, SEXP NAboundsArg, S
4949
upper = PROTECT(coerceVector(upper, TYPEOF(x))); nprotect++;
5050
}
5151

52-
const bool recycleX = nx==1;
53-
const bool recycleLow = nl==1;
54-
const bool recycleUpp = nu==1;
52+
const bool recycleX = nx == 1;
53+
const bool recycleLow = nl == 1;
54+
const bool recycleUpp = nu == 1;
5555
const int xMask = recycleX ? 0 : INT_MAX;
5656
const int lowMask = recycleLow ? 0 : INT_MAX;
5757
const int uppMask = recycleUpp ? 0 : INT_MAX;
5858
SEXP ans = PROTECT(allocVector(LGLSXP, longest)); nprotect++;
5959
int *restrict ansp = LOGICAL(ans);
60-
double tic=omp_get_wtime();
60+
double tic = omp_get_wtime();
6161

6262
switch (TYPEOF(x)) {
6363
case INTSXP: {
6464
const int *lp = INTEGER(lower);
6565
const int *up = INTEGER(upper);
6666
const int *xp = INTEGER(x);
67-
if (check) for (int i=0; i<longestBound; ++i) {
68-
const int l=lp[i & lowMask], u=up[i & uppMask];
69-
if (l!=NA_INTEGER && u!=NA_INTEGER && l>u)
70-
error(_("Item %d of lower (%d) is greater than item %d of upper (%d)"), (i&lowMask)+1, l, (i&uppMask)+1, u);
67+
if (check) for (int i = 0; i < longestBound; i++) {
68+
const int l = lp[i & lowMask], u = up[i & uppMask];
69+
if (l != NA_INTEGER && u != NA_INTEGER && l > u)
70+
error(_("Item %d of lower (%d) is greater than item %d of upper (%d)"), (i & lowMask) + 1, l, (i & uppMask) + 1, u);
7171
}
7272
if (NAbounds) { // default NAbounds==TRUE => NA bound means TRUE; i.e. asif lower=-Inf or upper==Inf)
7373
#pragma omp parallel for num_threads(getDTthreads(longest, true))
74-
for (int i=0; i<longest; ++i) {
75-
const int elem=xp[i & xMask], l=lp[i & lowMask], u=up[i & uppMask];
76-
ansp[i] = elem==NA_INTEGER ? NA_LOGICAL : (l==NA_INTEGER || l+open<=elem) && (u==NA_INTEGER || elem<=u-open);
74+
for (int i=0; i<longest; i++) {
75+
const int elem = xp[i & xMask], l = lp[i & lowMask], u = up[i & uppMask];
76+
ansp[i] = elem == NA_INTEGER ? NA_LOGICAL : (l == NA_INTEGER || l + open <= elem) && (u == NA_INTEGER || elem <= u - open);
7777
// +open so we can always use >= and <=. NA_INTEGER+1 == -INT_MAX == INT_MIN+1 (so NA limit handled by this too)
7878
}
7979
} else {
8080
#pragma omp parallel for num_threads(getDTthreads(longest, true))
81-
for (int i=0; i<longest; ++i) {
82-
const int elem=xp[i & xMask], l=lp[i & lowMask], u=up[i & uppMask];
83-
if (elem==NA_INTEGER) { ansp[i]=NA_LOGICAL; continue; }
84-
const bool lok = l!=NA_INTEGER, uok = u!=NA_INTEGER;
85-
ansp[i] = (lok && uok) ? l+open<=elem && elem<=u-open : ((uok && elem>u-open) || (lok && elem<l+open)) ? FALSE : NA_LOGICAL;
81+
for (int i = 0; i < longest; i++) {
82+
const int elem = xp[i & xMask], l = lp[i & lowMask], u = up[i & uppMask];
83+
if (elem == NA_INTEGER) { ansp[i] = NA_LOGICAL; continue; }
84+
const bool lok = l != NA_INTEGER, uok = u != NA_INTEGER;
85+
ansp[i] = (lok && uok) ? l + open <= elem && elem <= u - open : ((uok && elem > u - open) || (lok && elem < l + open)) ? FALSE : NA_LOGICAL;
8686
}
8787
}
88-
if (verbose) Rprintf(_("between parallel processing of integer took %8.3fs\n"), omp_get_wtime()-tic);
88+
if (verbose) Rprintf(_("between parallel processing of integer took %8.3fs\n"), omp_get_wtime() - tic);
8989
} break;
9090

9191
case REALSXP:
@@ -95,72 +95,72 @@ SEXP between(SEXP x, SEXP lower, SEXP upper, SEXP incbounds, SEXP NAboundsArg, S
9595
const int64_t *lp = (int64_t *)REAL(lower);
9696
const int64_t *up = (int64_t *)REAL(upper);
9797
const int64_t *xp = (int64_t *)REAL(x);
98-
if (check) for (int i=0; i<longestBound; ++i) {
99-
const int64_t l=lp[i & lowMask], u=up[i & uppMask];
100-
if (l!=NA_INTEGER64 && u!=NA_INTEGER64 && l>u)
101-
error(_("Item %d of lower (%"PRId64") is greater than item %d of upper (%"PRId64")"), (i&lowMask)+1, l, (i&uppMask)+1, u);
98+
if (check) for (int i = 0; i < longestBound; i++) {
99+
const int64_t l = lp[i & lowMask], u = up[i & uppMask];
100+
if (l != NA_INTEGER64 && u != NA_INTEGER64 && l > u)
101+
error(_("Item %d of lower (%"PRId64") is greater than item %d of upper (%"PRId64")"), (i & lowMask) + 1, l, (i & uppMask) + 1, u);
102102
}
103103
if (NAbounds) {
104104
#pragma omp parallel for num_threads(getDTthreads(longest, true))
105-
for (int i=0; i<longest; ++i) {
106-
const int64_t elem=xp[i & xMask], l=lp[i & lowMask], u=up[i & uppMask];
107-
ansp[i] = elem==NA_INTEGER64 ? NA_LOGICAL : (l==NA_INTEGER64 || l+open<=elem) && (u==NA_INTEGER64 || elem<=u-open);
105+
for (int i = 0; i < longest; i++) {
106+
const int64_t elem = xp[i & xMask], l = lp[i & lowMask], u = up[i & uppMask];
107+
ansp[i] = elem == NA_INTEGER64 ? NA_LOGICAL : (l == NA_INTEGER64 || l + open <= elem) && (u == NA_INTEGER64 || elem <= u - open);
108108
}
109109
} else {
110110
#pragma omp parallel for num_threads(getDTthreads(longest, true))
111-
for (int i=0; i<longest; ++i) {
112-
const int64_t elem=xp[i & xMask], l=lp[i & lowMask], u=up[i & uppMask];
113-
if (elem==NA_INTEGER64) { ansp[i]=NA_LOGICAL; continue; }
114-
const bool lok = l!=NA_INTEGER64, uok = u!=NA_INTEGER64;
115-
ansp[i] = (lok && uok) ? l+open<=elem && elem<=u-open : ((uok && elem>u-open) || (lok && elem<l+open)) ? FALSE : NA_LOGICAL;
111+
for (int i = 0; i < longest; i++) {
112+
const int64_t elem = xp[i & xMask], l = lp[i & lowMask], u = up[i & uppMask];
113+
if (elem == NA_INTEGER64) { ansp[i] = NA_LOGICAL; continue; }
114+
const bool lok = l != NA_INTEGER64, uok = u != NA_INTEGER64;
115+
ansp[i] = (lok && uok) ? l + open <= elem && elem <= u - open : ((uok && elem > u - open) || (lok && elem < l + open)) ? FALSE : NA_LOGICAL;
116116
}
117117
}
118-
if (verbose) Rprintf(_("between parallel processing of integer64 took %8.3fs\n"), omp_get_wtime()-tic);
118+
if (verbose) Rprintf(_("between parallel processing of integer64 took %8.3fs\n"), omp_get_wtime() - tic);
119119
} else {
120120
if (INHERITS(lower, char_integer64) || INHERITS(upper, char_integer64))
121121
error(_("x is not integer64 but lower and/or upper is integer64. Please align classes."));
122122
const double *lp = REAL(lower);
123123
const double *up = REAL(upper);
124124
const double *xp = REAL(x);
125-
if (check) for (int i=0; i<longestBound; ++i) {
126-
const double l=lp[i & lowMask], u=up[i & uppMask];
127-
if (!isnan(l) && !isnan(u) && l>u)
128-
error(_("Item %d of lower (%f) is greater than item %d of upper (%f)"), (i&lowMask)+1, l, (i&uppMask)+1, u);
125+
if (check) for (int i = 0; i < longestBound; i++) {
126+
const double l = lp[i & lowMask], u = up[i & uppMask];
127+
if (!isnan(l) && !isnan(u) && l > u)
128+
error(_("Item %d of lower (%f) is greater than item %d of upper (%f)"), (i & lowMask) + 1, l, (i & uppMask) + 1, u);
129129
}
130130
if (open) {
131131
if (NAbounds) {
132132
#pragma omp parallel for num_threads(getDTthreads(longest, true))
133-
for (int i=0; i<longest; ++i) {
134-
const double elem=xp[i & xMask], l=lp[i & lowMask], u=up[i & uppMask];
133+
for (int i = 0; i < longest; i++) {
134+
const double elem = xp[i & xMask], l = lp[i & lowMask], u = up[i & uppMask];
135135
ansp[i] = isnan(elem) ? NA_LOGICAL : (isnan(l) || l<elem) && (isnan(u) || elem<u);
136136
}
137137
} else {
138138
#pragma omp parallel for num_threads(getDTthreads(longest, true))
139-
for (int i=0; i<longest; ++i) {
140-
const double elem=xp[i & xMask], l=lp[i & lowMask], u=up[i & uppMask];
141-
if (isnan(elem)) { ansp[i]=NA_LOGICAL; continue; }
139+
for (int i = 0; i < longest; i++) {
140+
const double elem = xp[i & xMask], l = lp[i & lowMask], u = up[i & uppMask];
141+
if (isnan(elem)) { ansp[i] = NA_LOGICAL; continue; }
142142
const bool lok = !isnan(l), uok = !isnan(u);
143-
ansp[i] = (lok && uok) ? l<elem && elem<u : ((uok && elem>=u) || (lok && elem<=l)) ? FALSE : NA_LOGICAL;
143+
ansp[i] = (lok && uok) ? l < elem && elem < u : ((uok && elem >= u) || (lok && elem <= l)) ? FALSE : NA_LOGICAL;
144144
}
145145
}
146146
if (verbose) Rprintf(_("between parallel processing of double with open bounds took %8.3fs\n"), omp_get_wtime()-tic);
147147
} else {
148148
if (NAbounds) {
149149
#pragma omp parallel for num_threads(getDTthreads(longest, true))
150-
for (int i=0; i<longest; ++i) {
151-
const double elem=xp[i & xMask], l=lp[i & lowMask], u=up[i & uppMask];
152-
ansp[i] = isnan(elem) ? NA_LOGICAL : (isnan(l) || l<=elem) && (isnan(u) || elem<=u);
150+
for (int i = 0; i < longest; i++) {
151+
const double elem = xp[i & xMask], l = lp[i & lowMask], u = up[i & uppMask];
152+
ansp[i] = isnan(elem) ? NA_LOGICAL : (isnan(l) || l <= elem) && (isnan(u) || elem <= u);
153153
}
154154
} else {
155155
#pragma omp parallel for num_threads(getDTthreads(longest, true))
156-
for (int i=0; i<longest; ++i) {
157-
const double elem=xp[i & xMask], l=lp[i & lowMask], u=up[i & uppMask];
156+
for (int i = 0; i < longest; i++) {
157+
const double elem = xp[i & xMask], l = lp[i & lowMask], u = up[i & uppMask];
158158
if (isnan(elem)) { ansp[i]=NA_LOGICAL; continue; }
159159
const bool lok = !isnan(l), uok = !isnan(u);
160-
ansp[i] = (lok && uok) ? l<=elem && elem<=u : ((uok && elem>u) || (lok && elem<l)) ? FALSE : NA_LOGICAL;
160+
ansp[i] = (lok && uok) ? l <= elem && elem <= u : ((uok && elem > u) || (lok && elem < l)) ? FALSE : NA_LOGICAL;
161161
}
162162
}
163-
if (verbose) Rprintf(_("between parallel processing of double with closed bounds took %8.3fs\n"), omp_get_wtime()-tic);
163+
if (verbose) Rprintf(_("between parallel processing of double with closed bounds took %8.3fs\n"), omp_get_wtime() - tic);
164164
}
165165
}
166166
break;
@@ -169,12 +169,12 @@ SEXP between(SEXP x, SEXP lower, SEXP upper, SEXP incbounds, SEXP NAboundsArg, S
169169
const SEXP *lp = STRING_PTR_RO(lower);
170170
const SEXP *up = STRING_PTR_RO(upper);
171171
const SEXP *xp = STRING_PTR_RO(x);
172-
#define LCMP (strcmp(CHAR(ENC2UTF8(l)),CHAR(ENC2UTF8(elem)))<=-open)
173-
#define UCMP (strcmp(CHAR(ENC2UTF8(elem)),CHAR(ENC2UTF8(u)))<=-open)
172+
#define LCMP (strcmp(CHAR(ENC2UTF8(l)),CHAR(ENC2UTF8(elem))) <= -open)
173+
#define UCMP (strcmp(CHAR(ENC2UTF8(elem)),CHAR(ENC2UTF8(u))) <= -open)
174174
// TODO if all ascii can be parallel, otherwise ENC2UTF8 could allocate
175-
if (check) for (int i=0; i<longestBound; ++i) {
176-
const SEXP l=lp[i & lowMask], u=up[i & uppMask];
177-
if (l!=NA_STRING && u!=NA_STRING && l!=u && strcmp(CHAR(ENC2UTF8(l)), CHAR(ENC2UTF8(u)))>0)
175+
if (check) for (int i = 0; i < longestBound; i++) {
176+
const SEXP l = lp[i & lowMask], u=up[i & uppMask];
177+
if (l != NA_STRING && u != NA_STRING && l != u && strcmp(CHAR(ENC2UTF8(l)), CHAR(ENC2UTF8(u))) > 0)
178178
error(_("Item %d of lower ('%s') is greater than item %d of upper ('%s')"), (i&lowMask)+1, CHAR(l), (i&uppMask)+1, CHAR(u));
179179
}
180180
if (NAbounds) {

0 commit comments

Comments
 (0)