Skip to content

Commit a11c957

Browse files
committed
use R_getVar
1 parent af17d6f commit a11c957

2 files changed

Lines changed: 33 additions & 39 deletions

File tree

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: spatialreg
22
Version: 1.4-3
3-
Date: 2025-12-03
3+
Date: 2026-03-20
44
Title: Spatial Regression Analysis
55
Encoding: UTF-8
66
Authors@R: c(person("Roger", "Bivand", role = c("cre", "aut"), email = "Roger.Bivand@nhh.no", comment=c(ORCID="0000-0003-2392-6140", ROR="04v53s997")),

src/ml_sse.c

Lines changed: 32 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -63,18 +63,17 @@ void opt_error_set(SEXP env) {
6363
SEXP y, x, wy, WX;
6464
int i, n, p, np, pc=0;
6565

66-
n = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("n")))[0];
67-
p = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("p")))[0];
66+
n = INTEGER_POINTER(R_getVar(Rf_install("n"), env, FALSE))[0];
67+
p = INTEGER_POINTER(R_getVar(Rf_install("p"), env, FALSE))[0];
6868
np = n*p;
6969

70-
pt = (OPT_ERROR_SSE *) R_ExternalPtrAddr(Rf_findVarInFrame(env,
71-
Rf_install("ptr")));
70+
pt = (OPT_ERROR_SSE *) R_ExternalPtrAddr(R_getVar(Rf_install("ptr"), env, FALSE));
7271
if (pt->set) Rf_error("opt_error_set: function called out of order");
7372

74-
PROTECT(y = Rf_findVarInFrame(env, Rf_install("y"))); pc++;
75-
PROTECT(x = Rf_findVarInFrame(env, Rf_install("x"))); pc++;
76-
PROTECT(wy = Rf_findVarInFrame(env, Rf_install("wy"))); pc++;
77-
PROTECT(WX = Rf_findVarInFrame(env, Rf_install("WX"))); pc++;
73+
PROTECT(y = R_getVar(Rf_install("y"), env, FALSE)); pc++;
74+
PROTECT(x = R_getVar(Rf_install("x"), env, FALSE)); pc++;
75+
PROTECT(wy = R_getVar(Rf_install("wy"), env, FALSE)); pc++;
76+
PROTECT(WX = R_getVar(Rf_install("WX"), env, FALSE)); pc++;
7877

7978
pt->y = R_Calloc(n, double);
8079
pt->x = R_Calloc(np, double);
@@ -149,18 +148,17 @@ void hess_error_set(SEXP env) {
149148
SEXP y, x, wy, WX;
150149
int i, n, p, np, pc=0;
151150

152-
n = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("n")))[0];
153-
p = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("p")))[0];
151+
n = INTEGER_POINTER(R_getVar(Rf_install("n"), env, FALSE))[0];
152+
p = INTEGER_POINTER(R_getVar(Rf_install("p"), env, FALSE))[0];
154153
np = n*p;
155154

156-
pt = (HESS_ERROR_SSE *) R_ExternalPtrAddr(Rf_findVarInFrame(env,
157-
Rf_install("ptr")));
155+
pt = (HESS_ERROR_SSE *) R_ExternalPtrAddr(R_getVar(Rf_install("ptr"), env, FALSE));
158156
if (pt->set) Rf_error("hess_error_set: function called out of order");
159157

160-
PROTECT(y = Rf_findVarInFrame(env, Rf_install("y"))); pc++;
161-
PROTECT(x = Rf_findVarInFrame(env, Rf_install("x"))); pc++;
162-
PROTECT(wy = Rf_findVarInFrame(env, Rf_install("wy"))); pc++;
163-
PROTECT(WX = Rf_findVarInFrame(env, Rf_install("WX"))); pc++;
158+
PROTECT(y = R_getVar(Rf_install("y"), env, FALSE)); pc++;
159+
PROTECT(x = R_getVar(Rf_install("x"), env, FALSE)); pc++;
160+
PROTECT(wy = R_getVar(Rf_install("wy"), env, FALSE)); pc++;
161+
PROTECT(WX = R_getVar(Rf_install("WX"), env, FALSE)); pc++;
164162

165163
pt->y = R_Calloc(n, double);
166164
pt->x = R_Calloc(np, double);
@@ -228,17 +226,16 @@ void hess_lag_set(SEXP env) {
228226
SEXP y, x, wy;
229227
int i, n, p, np, pc=0;
230228

231-
n = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("n")))[0];
232-
p = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("m")))[0];
229+
n = INTEGER_POINTER(R_getVar(Rf_install("n"), env, FALSE))[0];
230+
p = INTEGER_POINTER(R_getVar(Rf_install("m"), env, FALSE))[0];
233231
np = n*p;
234232

235-
pt = (HESS_LAG_SSE *) R_ExternalPtrAddr(Rf_findVarInFrame(env,
236-
Rf_install("ptr")));
233+
pt = (HESS_LAG_SSE *) R_ExternalPtrAddr(R_getVar(Rf_install("ptr"), env, FALSE));
237234
if (pt->set) Rf_error("hess_lag_set: function called out of order");
238235

239-
PROTECT(y = Rf_findVarInFrame(env, Rf_install("y"))); pc++;
240-
PROTECT(x = Rf_findVarInFrame(env, Rf_install("x"))); pc++;
241-
PROTECT(wy = Rf_findVarInFrame(env, Rf_install("wy"))); pc++;
236+
PROTECT(y = R_getVar(Rf_install("y"), env, FALSE)); pc++;
237+
PROTECT(x = R_getVar(Rf_install("x"), env, FALSE)); pc++;
238+
PROTECT(wy = R_getVar(Rf_install("wy"), env, FALSE)); pc++;
242239

243240
pt->y = R_Calloc(n, double);
244241
pt->x = R_Calloc(np, double);
@@ -299,16 +296,15 @@ SEXP R_ml_sse_env(SEXP env, SEXP coef) {
299296
int pc=0, first_time;
300297
OPT_ERROR_SSE *pt;
301298

302-
first_time = LOGICAL_POINTER(Rf_findVarInFrame(env, Rf_install("first_time")))[0];
299+
first_time = LOGICAL_POINTER(R_getVar(Rf_install("first_time"), env, FALSE))[0];
303300
if (first_time) {
304301
opt_error_set(env);
305302
}
306303

307-
n = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("n")))[0];
308-
p = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("p")))[0];
304+
n = INTEGER_POINTER(R_getVar(Rf_install("n"), env, FALSE))[0];
305+
p = INTEGER_POINTER(R_getVar(Rf_install("p"), env, FALSE))[0];
309306
np = n*p;
310-
pt = (OPT_ERROR_SSE *) R_ExternalPtrAddr(Rf_findVarInFrame(env,
311-
Rf_install("ptr")));
307+
pt = (OPT_ERROR_SSE *) R_ExternalPtrAddr(R_getVar(Rf_install("ptr"), env, FALSE));
312308

313309
for (i=0; i<n; i++) pt->yl[i] = pt->y[i];
314310
for (i=0; i<np; i++) pt->xlq[i] = pt->x[i];
@@ -356,16 +352,15 @@ SEXP R_ml1_sse_env(SEXP env, SEXP lambda, SEXP beta) {
356352
int pc=0, first_time;
357353
HESS_ERROR_SSE *pt;
358354

359-
first_time = LOGICAL_POINTER(Rf_findVarInFrame(env, Rf_install("first_time")))[0];
355+
first_time = LOGICAL_POINTER(R_getVar(Rf_install("first_time"), env, FALSE))[0];
360356
if (first_time) {
361357
hess_error_set(env);
362358
}
363359

364-
n = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("n")))[0];
365-
p = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("p")))[0];
360+
n = INTEGER_POINTER(R_getVar(Rf_install("n"), env, FALSE))[0];
361+
p = INTEGER_POINTER(R_getVar(Rf_install("p"), env, FALSE))[0];
366362
np = n*p;
367-
pt = (HESS_ERROR_SSE *) R_ExternalPtrAddr(Rf_findVarInFrame(env,
368-
Rf_install("ptr")));
363+
pt = (HESS_ERROR_SSE *) R_ExternalPtrAddr(R_getVar(Rf_install("ptr"), env, FALSE));
369364

370365
for (i=0; i<n; i++) pt->yl[i] = pt->y[i];
371366
for (i=0; i<np; i++) pt->xl[i] = pt->x[i];
@@ -402,15 +397,14 @@ SEXP R_ml2_sse_env(SEXP env, SEXP rho, SEXP beta) {
402397
int pc=0, first_time;
403398
HESS_LAG_SSE *pt;
404399

405-
first_time = LOGICAL_POINTER(Rf_findVarInFrame(env, Rf_install("first_time")))[0];
400+
first_time = LOGICAL_POINTER(R_getVar(Rf_install("first_time"), env, FALSE))[0];
406401
if (first_time) {
407402
hess_lag_set(env);
408403
}
409404

410-
n = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("n")))[0];
411-
p = INTEGER_POINTER(Rf_findVarInFrame(env, Rf_install("m")))[0];
412-
pt = (HESS_LAG_SSE *) R_ExternalPtrAddr(Rf_findVarInFrame(env,
413-
Rf_install("ptr")));
405+
n = INTEGER_POINTER(R_getVar(Rf_install("n"), env, FALSE))[0];
406+
p = INTEGER_POINTER(R_getVar(Rf_install("m"), env, FALSE))[0];
407+
pt = (HESS_LAG_SSE *) R_ExternalPtrAddr(R_getVar(Rf_install("ptr"), env, FALSE));
414408

415409
for (i=0; i<n; i++) pt->yl[i] = pt->y[i];
416410
for (i=0; i<p; i++) pt->beta1[i] = NUMERIC_POINTER(beta)[i];

0 commit comments

Comments
 (0)