Rev 71313 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
/** R : A Computer Language for Statistical Data Analysis* Copyright (C) 1998-2016 The R Core Team** This header file is free software; you can redistribute it and/or modify* it under the terms of the GNU Lesser General Public License as published by* the Free Software Foundation; either version 2.1 of the License, or* (at your option) any later version.* This file is part of R. R is distributed under the terms of the* GNU General Public License, either Version 2, June 1991 or Version 3,* June 2007. See doc/COPYRIGHTS for details of the copyright status of R.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU Lesser General Public License for more details.** You should have received a copy of the GNU Lesser General Public License* along with this program; if not, a copy is available at* https://www.R-project.org/Licenses/*** Generally useful UTILITIES *NOT* relying on R internals (from Defn.h)*//* Included by R.h: API */#ifndef R_EXT_UTILS_H_#define R_EXT_UTILS_H_#include <R_ext/Boolean.h>#include <R_ext/Complex.h>#ifndef NO_C_HEADERS# if defined(__cplusplus) && !defined(DO_NOT_USE_CXX_HEADERS)# include <cstddef>using std::size_t;# else# include <stddef.h># endif#else#warning "use of NO_C_HEADERS is deprecated"#endif#define revsort Rf_revsort#define iPsort Rf_iPsort#define rPsort Rf_rPsort#define cPsort Rf_cPsort#define IndexWidth Rf_IndexWidth#define setIVector Rf_setIVector#define setRVector Rf_setRVector#define StringFalse Rf_StringFalse#define StringTrue Rf_StringTrue#define isBlankString Rf_isBlankString#ifdef __cplusplusextern "C" {#endif/* ../../main/sort.c : */void R_isort(int*, int);void R_rsort(double*, int);void R_csort(Rcomplex*, int);void rsort_with_index(double *, int *, int);void revsort(double*, int*, int);/* reverse; sort i[] alongside */void iPsort(int*, int, int);void rPsort(double*, int, int);void cPsort(Rcomplex*, int, int);/* ../../main/qsort.c : *//* dummy renamed to II to avoid problems with g++ on Solaris */void R_qsort (double *v, size_t i, size_t j);void R_qsort_I (double *v, int *II, int i, int j);void R_qsort_int (int *iv, size_t i, size_t j);void R_qsort_int_I(int *iv, int *II, int i, int j);#ifdef R_RS_Hvoid F77_NAME(qsort4)(double *v, int *indx, int *ii, int *jj);void F77_NAME(qsort3)(double *v, int *ii, int *jj);#endif/* ../../main/util.c and others : */const char *R_ExpandFileName(const char *);void setIVector(int*, int, int);void setRVector(double*, int, double);Rboolean StringFalse(const char *);Rboolean StringTrue(const char *);Rboolean isBlankString(const char *);/* These two are guaranteed to use '.' as the decimal point,and to accept "NA".*/double R_atof(const char *str);double R_strtod(const char *c, char **end);char *R_tmpnam(const char *prefix, const char *tempdir);char *R_tmpnam2(const char *prefix, const char *tempdir, const char *fileext);void R_CheckUserInterrupt(void);void R_CheckStack(void);void R_CheckStack2(size_t);/* ../../appl/interv.c: also in Applic.h */int findInterval(double *xt, int n, double x,Rboolean rightmost_closed, Rboolean all_inside, int ilo,int *mflag);int findInterval2(double *xt, int n, double x,Rboolean rightmost_closed, Rboolean all_inside, Rboolean left_open,int ilo, int *mflag);#ifdef R_RS_Hint F77_SUB(interv)(double *xt, int *n, double *x,Rboolean *rightmost_closed, Rboolean *all_inside,int *ilo, int *mflag);#endifvoid find_interv_vec(double *xt, int *n, double *x, int *nx,int *rightmost_closed, int *all_inside, int *indx);/* ../../appl/maxcol.c: also in Applic.h */void R_max_col(double *matrix, int *nr, int *nc, int *maxes, int *ties_meth);#ifdef __cplusplus}#endif#endif /* R_EXT_UTILS_H_ */