rustr/
rstatic.rs

1//! C static varibles for R
2//!
3//!
4//!
5
6
7
8use rdll::*;
9
10#[inline]
11pub fn r_nan() -> ::std::os::raw::c_double {
12    unsafe { R_NaN }
13}
14
15macro_rules! rconst{
16	($( ($funname:ident;$rettype:ty ;$varname:ident)),*)=>(
17	
18	$(
19	pub fn $funname()->$rettype{ unsafe{$varname}}
20	)*
21	)
22}
23
24rconst!( (r_posinf; ::std::os::raw::c_double; R_PosInf),
25		 (r_neginf; ::std::os::raw::c_double; R_NegInf),
26		 (r_nareal; ::std::os::raw::c_double; R_NaReal),
27		 (r_naint; ::std::os::raw::c_int; R_NaInt ),
28		 (r_globalenv; SEXP;R_GlobalEnv ),
29		 (r_emptyenv; SEXP;R_EmptyEnv ),
30		 (r_baseenv; SEXP; R_BaseEnv),
31		 (r_basenamespace; SEXP; R_BaseNamespace),
32		 (r_namespaceregistry; SEXP; R_NamespaceRegistry),
33		 (r_srcref; SEXP; R_Srcref),
34		 (rnull; SEXP; R_NilValue),
35		 (r_unboundvalue; SEXP; R_UnboundValue),
36		 (r_missingarg; SEXP; R_MissingArg),
37		 (r_basesymbol; SEXP; R_baseSymbol),
38		 (r_bbasesymbol; SEXP; R_BaseSymbol),
39		 (r_bracesymbol; SEXP; R_BraceSymbol),
40		 (r_bracket2symbol; SEXP; R_Bracket2Symbol),
41		 (r_bracketsymbol; SEXP; R_BracketSymbol),
42		 (r_classsymbol; SEXP; R_ClassSymbol),
43		 (r_devicesymbol; SEXP; R_DeviceSymbol),
44		 (r_dimnamessymbol; SEXP; R_DimNamesSymbol),
45		 (r_dimsymbol; SEXP; R_DimSymbol),
46		 (r_dollarsymbol; SEXP; R_DollarSymbol),
47		 (r_dotsymbol; SEXP; R_DotsSymbol),
48		 (r_doublecolonsymbol; SEXP; R_DoubleColonSymbol),
49		 (r_dropsymbol; SEXP; R_DropSymbol),
50		 (r_lastvaluesymbol; SEXP; R_LastvalueSymbol),
51		 (r_levelsymbol; SEXP; R_LevelsSymbol),
52		 (r_modesymbol; SEXP; R_ModeSymbol),
53		 (r_narmsymbol; SEXP; R_NaRmSymbol),
54		 (r_namesymbol; SEXP; R_NameSymbol),
55		 (r_namessymbol; SEXP; R_NamesSymbol),
56		 (r_namespaceenvsymbol; SEXP; R_NamespaceEnvSymbol),
57		 (r_packagesymbol; SEXP; R_PackageSymbol),
58		 (r_previoussymbol; SEXP; R_PreviousSymbol),
59		 (r_quotesymbol; SEXP; R_QuoteSymbol),
60		 (r_rownamessymbol; SEXP; R_RowNamesSymbol),
61		 (r_seedssymbol; SEXP; R_SeedsSymbol),
62		 (r_sortlistsymbol; SEXP; R_SortListSymbol),
63		 (r_sourcesymbol; SEXP; R_SourceSymbol),
64		 (r_specsymbol; SEXP; R_SpecSymbol),
65		 (r_triplecolonsymbol; SEXP; R_TripleColonSymbol),
66		 (r_tspsymbol; SEXP; R_TspSymbol),
67		 (r_dot_defined; SEXP; R_dot_defined),
68		 (r_dot_method; SEXP; R_dot_Method),
69		 (r_dot_packagename; SEXP; R_dot_packageName),
70		 (r_dot_target; SEXP; R_dot_target),
71// (r_dot_generic; SEXP; R_dot_Generic),
72		 (r_blankstring; SEXP; R_BlankString),
73		 (r_blankscalarstring; SEXP; R_BlankScalarString),
74		 (r_nastring; SEXP; R_NaString),
75// (r_dirtyimage;::std::os::raw::c_int; R_DirtyImage  ),
76// (r_tempdir; *mut ::std::os::raw::c_char;R_TempDir  ),
77		 (r_interrupts_suspended; Rboolean;R_interrupts_suspended),
78		 (r_interrupts_pending;  ::std::os::raw::c_int;R_interrupts_pending),
79		 (r_mbslocale;  Rboolean;mbcslocale),
80		 (r_num_math_threads; ::std::os::raw::c_int;R_num_math_threads ),
81		 (r_max_num_math_threads; ::std::os::raw::c_int; R_max_num_math_threads)
82		  );
83
84
85//    pub static mut R_num_math_threads: ::std::os::raw::c_int;
86//    pub static mut R_max_num_math_threads: ::std::os::raw::c_int;