From noreply at r-forge.r-project.org Sat May 17 23:03:47 2014 From: noreply at r-forge.r-project.org (noreply at r-forge.r-project.org) Date: Sat, 17 May 2014 23:03:47 +0200 (CEST) Subject: [Xts-commits] r804 - pkg/xts/inst/include Message-ID: <20140517210347.C636C187361@r-forge.r-project.org> Author: edd Date: 2014-05-17 23:03:47 +0200 (Sat, 17 May 2014) New Revision: 804 Modified: pkg/xts/inst/include/xtsAPI.h Log: revert compact initialization back to more explicit form to make gcc happy Modified: pkg/xts/inst/include/xtsAPI.h =================================================================== --- pkg/xts/inst/include/xtsAPI.h 2014-03-19 15:14:12 UTC (rev 803) +++ pkg/xts/inst/include/xtsAPI.h 2014-05-17 21:03:47 UTC (rev 804) @@ -7,7 +7,7 @@ welcomed. Copyright 2008 - 2014 Jeffrey A. Ryan -Copyright 2013 - 2014 Dirk Eddelbuettel +Copyright 2014 Dirk Eddelbuettel This source is distributed with the same license as the full xts software, GPL (>= 2). @@ -43,71 +43,84 @@ */ int attribute_hidden xtsIs(SEXP x) { - static int(*fun)(SEXP) = (int(*)(SEXP)) R_GetCCallable("xts","isXts"); + static int(*fun)(SEXP) = NULL; + if (fun == NULL) fun = (int(*)(SEXP)) R_GetCCallable("xts","isXts"); return fun(x); } SEXP attribute_hidden xtsIsOrdered(SEXP x, SEXP increasing, SEXP strictly) { - static SEXP(*fun)(SEXP,SEXP,SEXP) = (SEXP(*)(SEXP,SEXP,SEXP)) R_GetCCallable("xts","do_is_ordered"); + static SEXP(*fun)(SEXP,SEXP,SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP,SEXP,SEXP)) R_GetCCallable("xts","do_is_ordered"); return fun(x, increasing, strictly); } SEXP attribute_hidden xtsNaCheck(SEXP x, SEXP check) { - static SEXP(*fun)(SEXP,SEXP) = (SEXP(*)(SEXP,SEXP)) R_GetCCallable("xts","naCheck"); + static SEXP(*fun)(SEXP,SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP,SEXP)) R_GetCCallable("xts","naCheck"); return fun(x, check); } SEXP attribute_hidden xtsTry(SEXP x) { - static SEXP(*fun)(SEXP) = (SEXP(*)(SEXP)) R_GetCCallable("xts","tryXts"); + static SEXP(*fun)(SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP)) R_GetCCallable("xts","tryXts"); return fun(x); } SEXP attribute_hidden xtsRbind(SEXP x, SEXP y, SEXP dup) { - static SEXP(*fun)(SEXP, SEXP, SEXP) = (SEXP(*)(SEXP,SEXP,SEXP)) R_GetCCallable("xts","do_rbind_xts"); + static SEXP(*fun)(SEXP, SEXP, SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP,SEXP,SEXP)) R_GetCCallable("xts","do_rbind_xts"); return fun(x, y, dup); } SEXP attribute_hidden xtsCoredata(SEXP x) { - static SEXP(*fun)(SEXP) = (SEXP(*)(SEXP)) R_GetCCallable("xts","coredata_xts"); + static SEXP(*fun)(SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP)) R_GetCCallable("xts","coredata_xts"); return fun(x); } SEXP attribute_hidden xtsLag(SEXP x, SEXP k, SEXP pad) { - static SEXP(*fun)(SEXP,SEXP,SEXP) = (SEXP(*)(SEXP,SEXP,SEXP)) R_GetCCallable("xts","lagXts"); + static SEXP(*fun)(SEXP,SEXP,SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP,SEXP,SEXP)) R_GetCCallable("xts","lagXts"); return fun(x, k, pad); } SEXP attribute_hidden xtsMakeIndexUnique(SEXP x, SEXP eps) { - static SEXP(*fun)(SEXP,SEXP) = (SEXP(*)(SEXP,SEXP)) R_GetCCallable("xts","make_index_unique"); + static SEXP(*fun)(SEXP,SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP,SEXP)) R_GetCCallable("xts","make_index_unique"); return fun(x, eps); } SEXP attribute_hidden xtsMakeUnique(SEXP x, SEXP eps) { - static SEXP(*fun)(SEXP,SEXP) = (SEXP(*)(SEXP,SEXP)) R_GetCCallable("xts","make_unique"); + static SEXP(*fun)(SEXP,SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP,SEXP)) R_GetCCallable("xts","make_unique"); return fun(x, eps); } SEXP attribute_hidden xtsEndpoints(SEXP x, SEXP on, SEXP k, SEXP addlast) { - static SEXP(*fun)(SEXP,SEXP,SEXP,SEXP) = (SEXP(*)(SEXP,SEXP,SEXP,SEXP)) R_GetCCallable("xts","endpoints"); + static SEXP(*fun)(SEXP,SEXP,SEXP,SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP,SEXP,SEXP,SEXP)) R_GetCCallable("xts","endpoints"); return fun(x, on, k, addlast); } SEXP attribute_hidden xtsMerge(SEXP x, SEXP y, SEXP all, SEXP fill, SEXP retclass, SEXP colnames, SEXP suffixes, SEXP retside, SEXP env, int coerce) { - static SEXP(*fun)(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,int) = - (SEXP(*)(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,int)) R_GetCCallable("xts","do_merge_xts"); + static SEXP(*fun)(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,int) = NULL; + if (fun == NULL) + fun = (SEXP(*)(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,int)) R_GetCCallable("xts","do_merge_xts"); return fun(x, y, all, fill, retclass, colnames, suffixes, retside, env, coerce); } SEXP attribute_hidden xtsNaOmit(SEXP x) { - static SEXP(*fun)(SEXP) = (SEXP(*)(SEXP)) R_GetCCallable("xts","na_omit_xts"); + static SEXP(*fun)(SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP)) R_GetCCallable("xts","na_omit_xts"); return fun(x); } SEXP attribute_hidden xtsNaLocf(SEXP x, SEXP fromLast, SEXP maxgap, SEXP limit) { - static SEXP(*fun)(SEXP,SEXP,SEXP,SEXP) = (SEXP(*)(SEXP,SEXP,SEXP,SEXP)) R_GetCCallable("xts","na_locf"); + static SEXP(*fun)(SEXP,SEXP,SEXP,SEXP) = NULL; + if (fun == NULL) fun = (SEXP(*)(SEXP,SEXP,SEXP,SEXP)) R_GetCCallable("xts","na_locf"); return fun(x, fromLast, maxgap, limit); }