-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathRinternals-Linux-4.5.rs
More file actions
943 lines (941 loc) · 42.1 KB
/
Rinternals-Linux-4.5.rs
File metadata and controls
943 lines (941 loc) · 42.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
/* automatically generated by rust-bindgen 0.71.1 */
/* OS: unix */
/* Platform: x86_64-pc-linux-gnu */
/* rustc 1.85.0 (4d91de4e4 2025-02-17) */
/* R version: 4.5.0 */
pub type Rbyte = ::std::os::raw::c_uchar;
#[doc = " type for length of (standard, not long) vectors etc"]
pub type R_len_t = ::std::os::raw::c_int;
pub type R_xlen_t = isize;
pub type SEXP = *mut SEXPREC;
#[doc = " We sometimes need to coerce a protected value and place the new\ncoerced value under protection. For these cases PROTECT_WITH_INDEX\nsaves an index of the protection location that can be used to\nreplace the protected value using REPROTECT."]
pub type PROTECT_INDEX = ::std::os::raw::c_int;
#[doc = " Finalization interface"]
pub type R_CFinalizer_t = ::std::option::Option<unsafe extern "C" fn(arg1: SEXP)>;
pub type R_pstream_data_t = *mut ::std::os::raw::c_void;
pub type R_outpstream_t = *mut R_outpstream_st;
pub type R_inpstream_t = *mut R_inpstream_st;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct R_outpstream_st {
pub data: R_pstream_data_t,
pub type_: R_pstream_format_t,
pub version: ::std::os::raw::c_int,
pub OutChar: ::std::option::Option<
unsafe extern "C" fn(arg1: R_outpstream_t, arg2: ::std::os::raw::c_int),
>,
pub OutBytes: ::std::option::Option<
unsafe extern "C" fn(
arg1: R_outpstream_t,
arg2: *mut ::std::os::raw::c_void,
arg3: ::std::os::raw::c_int,
),
>,
pub OutPersistHookFunc:
::std::option::Option<unsafe extern "C" fn(arg1: SEXP, arg2: SEXP) -> SEXP>,
pub OutPersistHookData: SEXP,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct R_inpstream_st {
pub data: R_pstream_data_t,
pub type_: R_pstream_format_t,
pub InChar:
::std::option::Option<unsafe extern "C" fn(arg1: R_inpstream_t) -> ::std::os::raw::c_int>,
pub InBytes: ::std::option::Option<
unsafe extern "C" fn(
arg1: R_inpstream_t,
arg2: *mut ::std::os::raw::c_void,
arg3: ::std::os::raw::c_int,
),
>,
pub InPersistHookFunc:
::std::option::Option<unsafe extern "C" fn(arg1: SEXP, arg2: SEXP) -> SEXP>,
pub InPersistHookData: SEXP,
pub native_encoding: [::std::os::raw::c_char; 64usize],
pub nat2nat_obj: *mut ::std::os::raw::c_void,
pub nat2utf8_obj: *mut ::std::os::raw::c_void,
}
#[doc = " try to allow some type checking"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct R_hashtab_type {
pub cell: SEXP,
}
pub const R_LEN_T_MAX: u32 = 2147483647;
pub const R_XLEN_T_MAX: u64 = 4503599627370496;
pub const R_SHORT_LEN_MAX: u32 = 2147483647;
pub const R_PRIdXLEN_T: &[u8; 3] = b"td\0";
pub const TYPE_BITS: u32 = 5;
pub const MAX_NUM_SEXPTYPE: u32 = 32;
pub const NAMEDMAX: u32 = 7;
pub const R_XDR_DOUBLE_SIZE: u32 = 8;
pub const R_XDR_INTEGER_SIZE: u32 = 4;
pub const R_CODESET_MAX: u32 = 63;
pub const IDENT_NUM_AS_BITS: u32 = 1;
pub const IDENT_NA_AS_BITS: u32 = 2;
pub const IDENT_ATTR_BY_ORDER: u32 = 4;
pub const IDENT_USE_BYTECODE: u32 = 8;
pub const IDENT_USE_CLOENV: u32 = 16;
pub const IDENT_USE_SRCREF: u32 = 32;
pub const IDENT_EXTPTR_AS_REF: u32 = 64;
pub const HT_TYPE_IDENTICAL: u32 = 0;
pub const HT_TYPE_ADDRESS: u32 = 1;
pub const SORTED_DECR_NA_1ST: _bindgen_ty_2 = _bindgen_ty_2::SORTED_DECR_NA_1ST;
pub const SORTED_DECR: _bindgen_ty_2 = _bindgen_ty_2::SORTED_DECR;
pub const UNKNOWN_SORTEDNESS: _bindgen_ty_2 = _bindgen_ty_2::UNKNOWN_SORTEDNESS;
pub const SORTED_INCR: _bindgen_ty_2 = _bindgen_ty_2::SORTED_INCR;
pub const SORTED_INCR_NA_1ST: _bindgen_ty_2 = _bindgen_ty_2::SORTED_INCR_NA_1ST;
pub const KNOWN_UNSORTED: _bindgen_ty_2 = _bindgen_ty_2::KNOWN_UNSORTED;
#[repr(u32)]
#[non_exhaustive]
#[doc = "------ enum_SEXPTYPE -----"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum SEXPTYPE {
#[doc = " nil = NULL"]
NILSXP = 0,
#[doc = " symbols"]
SYMSXP = 1,
#[doc = " lists of dotted pairs"]
LISTSXP = 2,
#[doc = " closures"]
CLOSXP = 3,
#[doc = " environments"]
ENVSXP = 4,
#[doc = " promises: [un]evaluated closure arguments"]
PROMSXP = 5,
#[doc = " language constructs (special lists)"]
LANGSXP = 6,
#[doc = " special forms"]
SPECIALSXP = 7,
#[doc = " builtin non-special forms"]
BUILTINSXP = 8,
#[doc = " \"scalar\" string type (internal only)"]
CHARSXP = 9,
#[doc = " logical vectors"]
LGLSXP = 10,
#[doc = " integer vectors"]
INTSXP = 13,
#[doc = " real variables"]
REALSXP = 14,
#[doc = " complex variables"]
CPLXSXP = 15,
#[doc = " string vectors"]
STRSXP = 16,
#[doc = " dot-dot-dot object"]
DOTSXP = 17,
#[doc = " make \"any\" args work"]
ANYSXP = 18,
#[doc = " generic vectors"]
VECSXP = 19,
#[doc = " expressions vectors"]
EXPRSXP = 20,
#[doc = " byte code"]
BCODESXP = 21,
#[doc = " external pointer"]
EXTPTRSXP = 22,
#[doc = " weak reference"]
WEAKREFSXP = 23,
#[doc = " raw bytes"]
RAWSXP = 24,
#[doc = " S4 non-vector"]
OBJSXP = 25,
#[doc = " fresh node created in new page"]
NEWSXP = 30,
#[doc = " node released by GC"]
FREESXP = 31,
#[doc = " Closure or Builtin"]
FUNSXP = 99,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = " ../main/character.c :"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum nchar_type {
Bytes = 0,
Chars = 1,
Width = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = " cetype_t is an identifier reseved by POSIX, but it is\nwell established as public. Could remap by a #define though"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cetype_t {
CE_NATIVE = 0,
CE_UTF8 = 1,
CE_LATIN1 = 2,
CE_BYTES = 3,
CE_SYMBOL = 5,
CE_ANY = 99,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum R_pstream_format_t {
R_pstream_any_format = 0,
R_pstream_ascii_format = 1,
R_pstream_binary_format = 2,
R_pstream_xdr_format = 3,
R_pstream_asciihex_format = 4,
}
#[repr(i32)]
#[non_exhaustive]
#[doc = " ALTREP sorting support"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_2 {
SORTED_DECR_NA_1ST = -2,
SORTED_DECR = -1,
#[doc = "INT_MIN is NA_INTEGER!"]
UNKNOWN_SORTEDNESS = -2147483648,
SORTED_INCR = 1,
SORTED_INCR_NA_1ST = 2,
KNOWN_UNSORTED = 0,
}
unsafe extern "C" {
pub fn R_CHAR(x: SEXP) -> *const ::std::os::raw::c_char;
#[doc = " Various tests with macro versions in the internal headers such as Defn.h"]
pub fn Rf_isNull(s: SEXP) -> Rboolean;
pub fn Rf_isSymbol(s: SEXP) -> Rboolean;
pub fn Rf_isLogical(s: SEXP) -> Rboolean;
pub fn Rf_isReal(s: SEXP) -> Rboolean;
pub fn Rf_isComplex(s: SEXP) -> Rboolean;
pub fn Rf_isExpression(s: SEXP) -> Rboolean;
pub fn Rf_isEnvironment(s: SEXP) -> Rboolean;
pub fn Rf_isString(s: SEXP) -> Rboolean;
pub fn Rf_isObject(s: SEXP) -> Rboolean;
pub fn MAYBE_SHARED(x: SEXP) -> ::std::os::raw::c_int;
pub fn NO_REFERENCES(x: SEXP) -> ::std::os::raw::c_int;
#[doc = " General Cons Cell Attributes"]
pub fn ATTRIB(x: SEXP) -> SEXP;
pub fn OBJECT(x: SEXP) -> ::std::os::raw::c_int;
pub fn MARK(x: SEXP) -> ::std::os::raw::c_int;
pub fn NAMED(x: SEXP) -> ::std::os::raw::c_int;
pub fn REFCNT(x: SEXP) -> ::std::os::raw::c_int;
pub fn SET_ATTRIB(x: SEXP, v: SEXP);
pub fn DUPLICATE_ATTRIB(to: SEXP, from: SEXP);
pub fn SHALLOW_DUPLICATE_ATTRIB(to: SEXP, from: SEXP);
pub fn MARK_NOT_MUTABLE(x: SEXP);
pub fn CLEAR_ATTRIB(x: SEXP);
pub fn ANY_ATTRIB(x: SEXP) -> ::std::os::raw::c_int;
#[doc = " S4 object testing"]
pub fn IS_S4_OBJECT(x: SEXP) -> ::std::os::raw::c_int;
#[doc = " Vector Access Functions"]
pub fn LENGTH(x: SEXP) -> ::std::os::raw::c_int;
pub fn XLENGTH(x: SEXP) -> R_xlen_t;
pub fn TRUELENGTH(x: SEXP) -> R_xlen_t;
pub fn IS_LONG_VEC(x: SEXP) -> ::std::os::raw::c_int;
pub fn LEVELS(x: SEXP) -> ::std::os::raw::c_int;
pub fn LOGICAL(x: SEXP) -> *mut ::std::os::raw::c_int;
pub fn INTEGER(x: SEXP) -> *mut ::std::os::raw::c_int;
pub fn RAW(x: SEXP) -> *mut Rbyte;
pub fn REAL(x: SEXP) -> *mut f64;
pub fn COMPLEX(x: SEXP) -> *mut Rcomplex;
pub fn LOGICAL_RO(x: SEXP) -> *const ::std::os::raw::c_int;
pub fn INTEGER_RO(x: SEXP) -> *const ::std::os::raw::c_int;
pub fn RAW_RO(x: SEXP) -> *const Rbyte;
pub fn REAL_RO(x: SEXP) -> *const f64;
pub fn COMPLEX_RO(x: SEXP) -> *const Rcomplex;
#[doc = "SEXP (STRING_ELT)(SEXP x, R_xlen_t i);"]
pub fn VECTOR_ELT(x: SEXP, i: R_xlen_t) -> SEXP;
pub fn SET_STRING_ELT(x: SEXP, i: R_xlen_t, v: SEXP);
pub fn SET_VECTOR_ELT(x: SEXP, i: R_xlen_t, v: SEXP) -> SEXP;
pub fn STRING_PTR(x: SEXP) -> *mut SEXP;
pub fn STRING_PTR_RO(x: SEXP) -> *const SEXP;
pub fn VECTOR_PTR_RO(x: SEXP) -> *const SEXP;
pub fn INTEGER_GET_REGION(
sx: SEXP,
i: R_xlen_t,
n: R_xlen_t,
buf: *mut ::std::os::raw::c_int,
) -> R_xlen_t;
pub fn REAL_GET_REGION(sx: SEXP, i: R_xlen_t, n: R_xlen_t, buf: *mut f64) -> R_xlen_t;
pub fn LOGICAL_GET_REGION(
sx: SEXP,
i: R_xlen_t,
n: R_xlen_t,
buf: *mut ::std::os::raw::c_int,
) -> R_xlen_t;
pub fn COMPLEX_GET_REGION(sx: SEXP, i: R_xlen_t, n: R_xlen_t, buf: *mut Rcomplex) -> R_xlen_t;
pub fn RAW_GET_REGION(sx: SEXP, i: R_xlen_t, n: R_xlen_t, buf: *mut Rbyte) -> R_xlen_t;
#[doc = " metadata access"]
pub fn INTEGER_IS_SORTED(x: SEXP) -> ::std::os::raw::c_int;
pub fn INTEGER_NO_NA(x: SEXP) -> ::std::os::raw::c_int;
pub fn REAL_IS_SORTED(x: SEXP) -> ::std::os::raw::c_int;
pub fn REAL_NO_NA(x: SEXP) -> ::std::os::raw::c_int;
pub fn LOGICAL_IS_SORTED(x: SEXP) -> ::std::os::raw::c_int;
pub fn LOGICAL_NO_NA(x: SEXP) -> ::std::os::raw::c_int;
pub fn STRING_IS_SORTED(x: SEXP) -> ::std::os::raw::c_int;
pub fn STRING_NO_NA(x: SEXP) -> ::std::os::raw::c_int;
pub fn TAG(e: SEXP) -> SEXP;
pub fn CDR(e: SEXP) -> SEXP;
pub fn CAAR(e: SEXP) -> SEXP;
pub fn CDAR(e: SEXP) -> SEXP;
pub fn CADR(e: SEXP) -> SEXP;
pub fn CDDR(e: SEXP) -> SEXP;
pub fn CDDDR(e: SEXP) -> SEXP;
pub fn CADDR(e: SEXP) -> SEXP;
pub fn CADDDR(e: SEXP) -> SEXP;
pub fn CAD4R(e: SEXP) -> SEXP;
pub fn CAD5R(e: SEXP) -> SEXP;
pub fn MISSING(x: SEXP) -> ::std::os::raw::c_int;
pub fn SET_TAG(x: SEXP, y: SEXP);
pub fn SETCAR(x: SEXP, y: SEXP) -> SEXP;
pub fn SETCDR(x: SEXP, y: SEXP) -> SEXP;
pub fn SETCADR(x: SEXP, y: SEXP) -> SEXP;
pub fn SETCADDR(x: SEXP, y: SEXP) -> SEXP;
pub fn SETCADDDR(x: SEXP, y: SEXP) -> SEXP;
pub fn SETCAD4R(e: SEXP, y: SEXP) -> SEXP;
#[doc = " Closure Access Functions"]
pub fn FORMALS(x: SEXP) -> SEXP;
pub fn BODY(x: SEXP) -> SEXP;
pub fn CLOENV(x: SEXP) -> SEXP;
pub fn RDEBUG(x: SEXP) -> ::std::os::raw::c_int;
pub fn RSTEP(x: SEXP) -> ::std::os::raw::c_int;
pub fn RTRACE(x: SEXP) -> ::std::os::raw::c_int;
pub fn SET_RDEBUG(x: SEXP, v: ::std::os::raw::c_int);
pub fn SET_RSTEP(x: SEXP, v: ::std::os::raw::c_int);
pub fn SET_RTRACE(x: SEXP, v: ::std::os::raw::c_int);
pub fn SET_FORMALS(x: SEXP, v: SEXP);
pub fn SET_BODY(x: SEXP, v: SEXP);
pub fn SET_CLOENV(x: SEXP, v: SEXP);
pub fn R_mkClosure(arg1: SEXP, arg2: SEXP, arg3: SEXP) -> SEXP;
pub fn R_ClosureFormals(arg1: SEXP) -> SEXP;
pub fn R_ClosureBody(arg1: SEXP) -> SEXP;
pub fn R_ClosureEnv(arg1: SEXP) -> SEXP;
#[doc = " Symbol Access Functions"]
pub fn PRINTNAME(x: SEXP) -> SEXP;
pub fn SYMVALUE(x: SEXP) -> SEXP;
pub fn INTERNAL(x: SEXP) -> SEXP;
pub fn DDVAL(x: SEXP) -> ::std::os::raw::c_int;
#[doc = " Environment Access Functions"]
pub fn FRAME(x: SEXP) -> SEXP;
pub fn ENCLOS(x: SEXP) -> SEXP;
pub fn HASHTAB(x: SEXP) -> SEXP;
pub fn ENVFLAGS(x: SEXP) -> ::std::os::raw::c_int;
pub fn R_ParentEnv(arg1: SEXP) -> SEXP;
#[doc = " Promise Access Functions"]
pub fn PRCODE(x: SEXP) -> SEXP;
pub fn PRENV(x: SEXP) -> SEXP;
pub fn PRVALUE(x: SEXP) -> SEXP;
pub fn PRSEEN(x: SEXP) -> ::std::os::raw::c_int;
#[doc = " External pointer access macros"]
pub fn EXTPTR_PROT(arg1: SEXP) -> SEXP;
pub fn EXTPTR_TAG(arg1: SEXP) -> SEXP;
pub fn EXTPTR_PTR(arg1: SEXP) -> *mut ::std::os::raw::c_void;
#[doc = " The \"global\" environment"]
pub static mut R_GlobalEnv: SEXP;
#[doc = " An empty environment at the root of the\nenvironment tree"]
pub static mut R_EmptyEnv: SEXP;
#[doc = " The base environment; formerly R_NilValue"]
pub static mut R_BaseEnv: SEXP;
#[doc = " The (fake) namespace for base"]
pub static mut R_BaseNamespace: SEXP;
#[doc = " Registry for registered namespaces"]
pub static mut R_NamespaceRegistry: SEXP;
#[doc = " Current srcref, for debuggers"]
pub static mut R_Srcref: SEXP;
#[doc = " The nil object"]
pub static mut R_NilValue: SEXP;
#[doc = " Unbound marker"]
pub static mut R_UnboundValue: SEXP;
#[doc = " Missing argument marker"]
pub static mut R_MissingArg: SEXP;
#[doc = " To be found in BC interp. state\n(marker)"]
pub static mut R_InBCInterpreter: SEXP;
#[doc = " Use current expression (marker)"]
pub static mut R_CurrentExpression: SEXP;
#[doc = " Marker for restarted function calls"]
pub static mut R_RestartToken: SEXP;
#[doc = " \"as.character\""]
pub static mut R_AsCharacterSymbol: SEXP;
#[doc = " \"@\""]
pub static mut R_AtsignSymbol: SEXP;
#[doc = " <-- backcompatible version of:"]
pub static mut R_baseSymbol: SEXP;
#[doc = " \"base\""]
pub static mut R_BaseSymbol: SEXP;
#[doc = " \"{\""]
pub static mut R_BraceSymbol: SEXP;
#[doc = " \"[[\""]
pub static mut R_Bracket2Symbol: SEXP;
#[doc = " \"[\""]
pub static mut R_BracketSymbol: SEXP;
#[doc = " \"class\""]
pub static mut R_ClassSymbol: SEXP;
#[doc = " \".Device\""]
pub static mut R_DeviceSymbol: SEXP;
#[doc = " \"dimnames\""]
pub static mut R_DimNamesSymbol: SEXP;
#[doc = " \"dim\""]
pub static mut R_DimSymbol: SEXP;
#[doc = " \"$\""]
pub static mut R_DollarSymbol: SEXP;
#[doc = " \"...\""]
pub static mut R_DotsSymbol: SEXP;
#[doc = " \"::\""]
pub static mut R_DoubleColonSymbol: SEXP;
#[doc = " \"drop\""]
pub static mut R_DropSymbol: SEXP;
#[doc = " \"eval\""]
pub static mut R_EvalSymbol: SEXP;
#[doc = " \"function\""]
pub static mut R_FunctionSymbol: SEXP;
#[doc = " \".Last.value\""]
pub static mut R_LastvalueSymbol: SEXP;
#[doc = " \"levels\""]
pub static mut R_LevelsSymbol: SEXP;
#[doc = " \"mode\""]
pub static mut R_ModeSymbol: SEXP;
#[doc = " \"na.rm\""]
pub static mut R_NaRmSymbol: SEXP;
#[doc = " \"name\""]
pub static mut R_NameSymbol: SEXP;
#[doc = " \"names\""]
pub static mut R_NamesSymbol: SEXP;
#[doc = " \".__NAMESPACE__.\""]
pub static mut R_NamespaceEnvSymbol: SEXP;
#[doc = " \"package\""]
pub static mut R_PackageSymbol: SEXP;
#[doc = " \"previous\""]
pub static mut R_PreviousSymbol: SEXP;
#[doc = " \"quote\""]
pub static mut R_QuoteSymbol: SEXP;
#[doc = " \"row.names\""]
pub static mut R_RowNamesSymbol: SEXP;
#[doc = " \".Random.seed\""]
pub static mut R_SeedsSymbol: SEXP;
#[doc = " \"sort.list\""]
pub static mut R_SortListSymbol: SEXP;
#[doc = " \"source\""]
pub static mut R_SourceSymbol: SEXP;
#[doc = " \"spec\""]
pub static mut R_SpecSymbol: SEXP;
#[doc = " \":::\""]
pub static mut R_TripleColonSymbol: SEXP;
#[doc = " \"tsp\""]
pub static mut R_TspSymbol: SEXP;
#[doc = " \".defined\""]
pub static mut R_dot_defined: SEXP;
#[doc = " \".Method\""]
pub static mut R_dot_Method: SEXP;
#[doc = " \".packageName\""]
pub static mut R_dot_packageName: SEXP;
#[doc = " \".target\""]
pub static mut R_dot_target: SEXP;
#[doc = " \".Generic\""]
pub static mut R_dot_Generic: SEXP;
#[doc = " NA_STRING as a CHARSXP"]
pub static mut R_NaString: SEXP;
#[doc = " \"\" as a CHARSXP"]
pub static mut R_BlankString: SEXP;
#[doc = " \"\" as a STRSXP"]
pub static mut R_BlankScalarString: SEXP;
#[doc = " srcref related functions"]
pub fn R_GetCurrentSrcref(arg1: ::std::os::raw::c_int) -> SEXP;
pub fn R_GetSrcFilename(arg1: SEXP) -> SEXP;
#[doc = " Type Coercions of all kinds"]
pub fn Rf_asChar(arg1: SEXP) -> SEXP;
pub fn Rf_coerceVector(arg1: SEXP, arg2: SEXPTYPE) -> SEXP;
pub fn Rf_PairToVectorList(x: SEXP) -> SEXP;
pub fn Rf_VectorToPairList(x: SEXP) -> SEXP;
pub fn Rf_asCharacterFactor(x: SEXP) -> SEXP;
pub fn Rf_asLogical(x: SEXP) -> ::std::os::raw::c_int;
pub fn Rf_asInteger(x: SEXP) -> ::std::os::raw::c_int;
pub fn Rf_asReal(x: SEXP) -> f64;
pub fn Rf_asComplex(x: SEXP) -> Rcomplex;
pub fn Rf_asRboolean(x: SEXP) -> Rboolean;
pub fn Rf_asBool(x: SEXP) -> bool;
#[doc = " Other Internally Used Functions, excluding those which are inline-able"]
pub fn Rf_acopy_string(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
pub fn Rf_alloc3DArray(
arg1: SEXPTYPE,
arg2: ::std::os::raw::c_int,
arg3: ::std::os::raw::c_int,
arg4: ::std::os::raw::c_int,
) -> SEXP;
pub fn Rf_allocArray(arg1: SEXPTYPE, arg2: SEXP) -> SEXP;
pub fn Rf_allocMatrix(
arg1: SEXPTYPE,
arg2: ::std::os::raw::c_int,
arg3: ::std::os::raw::c_int,
) -> SEXP;
pub fn Rf_allocLang(arg1: ::std::os::raw::c_int) -> SEXP;
pub fn Rf_allocList(arg1: ::std::os::raw::c_int) -> SEXP;
pub fn Rf_allocS4Object() -> SEXP;
pub fn Rf_allocSExp(arg1: SEXPTYPE) -> SEXP;
#[doc = " next is not documented but generated by inlined calls to Rf_allocVector"]
pub fn Rf_allocVector3(arg1: SEXPTYPE, arg2: R_xlen_t, arg3: *mut R_allocator_t) -> SEXP;
pub fn Rf_any_duplicated(x: SEXP, from_last: Rboolean) -> R_xlen_t;
pub fn Rf_any_duplicated3(x: SEXP, incomp: SEXP, from_last: Rboolean) -> R_xlen_t;
pub fn Rf_classgets(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_cons(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_copyMatrix(arg1: SEXP, arg2: SEXP, arg3: Rboolean);
pub fn Rf_copyListMatrix(arg1: SEXP, arg2: SEXP, arg3: Rboolean);
pub fn Rf_copyMostAttrib(arg1: SEXP, arg2: SEXP);
pub fn Rf_copyVector(arg1: SEXP, arg2: SEXP);
pub fn Rf_defineVar(arg1: SEXP, arg2: SEXP, arg3: SEXP);
pub fn Rf_dimgets(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_dimnamesgets(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_duplicate(arg1: SEXP) -> SEXP;
pub fn Rf_shallow_duplicate(arg1: SEXP) -> SEXP;
pub fn R_duplicate_attr(arg1: SEXP) -> SEXP;
pub fn R_shallow_duplicate_attr(arg1: SEXP) -> SEXP;
pub fn Rf_lazy_duplicate(arg1: SEXP) -> SEXP;
#[doc = " the next really should not be here and is also in Defn.h"]
pub fn Rf_duplicated(arg1: SEXP, arg2: Rboolean) -> SEXP;
pub fn Rf_eval(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_findFun(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_findVar(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_findVarInFrame(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_findVarInFrame3(arg1: SEXP, arg2: SEXP, arg3: Rboolean) -> SEXP;
pub fn R_existsVarInFrame(arg1: SEXP, arg2: SEXP) -> Rboolean;
pub fn R_getVar(arg1: SEXP, arg2: SEXP, arg3: Rboolean) -> SEXP;
pub fn R_getVarEx(arg1: SEXP, arg2: SEXP, arg3: Rboolean, arg4: SEXP) -> SEXP;
pub fn R_removeVarFromFrame(arg1: SEXP, arg2: SEXP);
pub fn Rf_getAttrib(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_GetArrayDimnames(arg1: SEXP) -> SEXP;
pub fn Rf_GetColNames(arg1: SEXP) -> SEXP;
pub fn Rf_GetMatrixDimnames(
arg1: SEXP,
arg2: *mut SEXP,
arg3: *mut SEXP,
arg4: *mut *const ::std::os::raw::c_char,
arg5: *mut *const ::std::os::raw::c_char,
);
pub fn Rf_GetOption(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_GetOption1(arg1: SEXP) -> SEXP;
pub fn Rf_GetOptionDigits() -> ::std::os::raw::c_int;
pub fn Rf_GetOptionWidth() -> ::std::os::raw::c_int;
pub fn Rf_GetRowNames(arg1: SEXP) -> SEXP;
pub fn Rf_gsetVar(arg1: SEXP, arg2: SEXP, arg3: SEXP);
pub fn Rf_install(arg1: *const ::std::os::raw::c_char) -> SEXP;
pub fn Rf_installChar(arg1: SEXP) -> SEXP;
pub fn Rf_installNoTrChar(arg1: SEXP) -> SEXP;
pub fn Rf_installTrChar(arg1: SEXP) -> SEXP;
pub fn Rf_isOrdered(arg1: SEXP) -> Rboolean;
pub fn Rf_isUnordered(arg1: SEXP) -> Rboolean;
pub fn Rf_isUnsorted(arg1: SEXP, arg2: Rboolean) -> Rboolean;
pub fn R_isTRUE(arg1: SEXP) -> Rboolean;
pub fn Rf_lengthgets(arg1: SEXP, arg2: R_len_t) -> SEXP;
pub fn Rf_xlengthgets(arg1: SEXP, arg2: R_xlen_t) -> SEXP;
pub fn R_lsInternal(arg1: SEXP, arg2: Rboolean) -> SEXP;
pub fn R_lsInternal3(arg1: SEXP, arg2: Rboolean, arg3: Rboolean) -> SEXP;
pub fn Rf_match(arg1: SEXP, arg2: SEXP, arg3: ::std::os::raw::c_int) -> SEXP;
pub fn Rf_namesgets(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_mkChar(arg1: *const ::std::os::raw::c_char) -> SEXP;
pub fn Rf_mkCharLen(arg1: *const ::std::os::raw::c_char, arg2: ::std::os::raw::c_int) -> SEXP;
pub fn Rf_NonNullStringMatch(arg1: SEXP, arg2: SEXP) -> Rboolean;
pub fn Rf_ncols(arg1: SEXP) -> ::std::os::raw::c_int;
pub fn Rf_nrows(arg1: SEXP) -> ::std::os::raw::c_int;
pub fn Rf_nthcdr(arg1: SEXP, arg2: ::std::os::raw::c_int) -> SEXP;
pub fn R_nchar(
string: SEXP,
type_: nchar_type,
allowNA: Rboolean,
keepNA: Rboolean,
msg_name: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
pub fn R_ParseEvalString(arg1: *const ::std::os::raw::c_char, arg2: SEXP) -> SEXP;
pub fn R_ParseString(arg1: *const ::std::os::raw::c_char) -> SEXP;
pub fn Rf_PrintValue(arg1: SEXP);
pub fn Rf_setAttrib(arg1: SEXP, arg2: SEXP, arg3: SEXP) -> SEXP;
pub fn Rf_setVar(arg1: SEXP, arg2: SEXP, arg3: SEXP);
pub fn Rf_str2type(arg1: *const ::std::os::raw::c_char) -> SEXPTYPE;
pub fn Rf_StringBlank(arg1: SEXP) -> Rboolean;
pub fn Rf_substitute(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_topenv(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_translateChar(arg1: SEXP) -> *const ::std::os::raw::c_char;
pub fn Rf_translateCharUTF8(arg1: SEXP) -> *const ::std::os::raw::c_char;
pub fn Rf_type2char(arg1: SEXPTYPE) -> *const ::std::os::raw::c_char;
pub fn R_typeToChar(arg1: SEXP) -> *const ::std::os::raw::c_char;
pub fn Rf_type2rstr(arg1: SEXPTYPE) -> SEXP;
pub fn Rf_type2str(arg1: SEXPTYPE) -> SEXP;
pub fn Rf_type2str_nowarn(arg1: SEXPTYPE) -> SEXP;
pub fn Rf_unprotect_ptr(arg1: SEXP);
pub fn R_tryEval(arg1: SEXP, arg2: SEXP, arg3: *mut ::std::os::raw::c_int) -> SEXP;
pub fn R_tryEvalSilent(arg1: SEXP, arg2: SEXP, arg3: *mut ::std::os::raw::c_int) -> SEXP;
pub fn R_GetCurrentEnv() -> SEXP;
pub fn Rf_asS4(arg1: SEXP, arg2: Rboolean, arg3: ::std::os::raw::c_int) -> SEXP;
pub fn Rf_S3Class(arg1: SEXP) -> SEXP;
pub fn Rf_isBasicClass(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
pub fn Rf_getCharCE(arg1: SEXP) -> cetype_t;
pub fn Rf_charIsASCII(arg1: SEXP) -> Rboolean;
pub fn Rf_charIsUTF8(arg1: SEXP) -> Rboolean;
pub fn Rf_charIsLatin1(arg1: SEXP) -> Rboolean;
pub fn Rf_mkCharCE(arg1: *const ::std::os::raw::c_char, arg2: cetype_t) -> SEXP;
pub fn Rf_mkCharLenCE(
arg1: *const ::std::os::raw::c_char,
arg2: ::std::os::raw::c_int,
arg3: cetype_t,
) -> SEXP;
pub fn Rf_reEnc(
x: *const ::std::os::raw::c_char,
ce_in: cetype_t,
ce_out: cetype_t,
subst: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char;
#[doc = " Calling a function with arguments evaluated"]
pub fn R_forceAndCall(e: SEXP, n: ::std::os::raw::c_int, rho: SEXP) -> SEXP;
#[doc = " External pointer interface"]
pub fn R_MakeExternalPtr(p: *mut ::std::os::raw::c_void, tag: SEXP, prot: SEXP) -> SEXP;
pub fn R_ExternalPtrAddr(s: SEXP) -> *mut ::std::os::raw::c_void;
pub fn R_ExternalPtrTag(s: SEXP) -> SEXP;
pub fn R_ExternalPtrProtected(s: SEXP) -> SEXP;
pub fn R_ClearExternalPtr(s: SEXP);
pub fn R_SetExternalPtrAddr(s: SEXP, p: *mut ::std::os::raw::c_void);
pub fn R_SetExternalPtrTag(s: SEXP, tag: SEXP);
pub fn R_SetExternalPtrProtected(s: SEXP, p: SEXP);
#[doc = " Added in R 3.4.0"]
pub fn R_MakeExternalPtrFn(p: DL_FUNC, tag: SEXP, prot: SEXP) -> SEXP;
pub fn R_ExternalPtrAddrFn(s: SEXP) -> DL_FUNC;
pub fn R_RegisterFinalizer(s: SEXP, fun: SEXP);
pub fn R_RegisterCFinalizer(s: SEXP, fun: R_CFinalizer_t);
pub fn R_RegisterFinalizerEx(s: SEXP, fun: SEXP, onexit: Rboolean);
pub fn R_RegisterCFinalizerEx(s: SEXP, fun: R_CFinalizer_t, onexit: Rboolean);
pub fn R_RunPendingFinalizers();
#[doc = " Weak reference interface"]
pub fn R_MakeWeakRef(key: SEXP, val: SEXP, fin: SEXP, onexit: Rboolean) -> SEXP;
pub fn R_MakeWeakRefC(key: SEXP, val: SEXP, fin: R_CFinalizer_t, onexit: Rboolean) -> SEXP;
pub fn R_WeakRefKey(w: SEXP) -> SEXP;
pub fn R_WeakRefValue(w: SEXP) -> SEXP;
pub fn R_RunWeakRefFinalizer(w: SEXP);
pub fn R_PromiseExpr(arg1: SEXP) -> SEXP;
pub fn R_ClosureExpr(arg1: SEXP) -> SEXP;
pub fn R_BytecodeExpr(e: SEXP) -> SEXP;
#[doc = " Protected evaluation"]
pub fn R_ToplevelExec(
fun: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
data: *mut ::std::os::raw::c_void,
) -> Rboolean;
pub fn R_ExecWithCleanup(
fun: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> SEXP>,
data: *mut ::std::os::raw::c_void,
cleanfun: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
cleandata: *mut ::std::os::raw::c_void,
) -> SEXP;
pub fn R_tryCatch(
arg1: ::std::option::Option<
unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> SEXP,
>,
arg2: *mut ::std::os::raw::c_void,
arg3: SEXP,
arg4: ::std::option::Option<
unsafe extern "C" fn(arg1: SEXP, arg2: *mut ::std::os::raw::c_void) -> SEXP,
>,
arg5: *mut ::std::os::raw::c_void,
arg6: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
arg7: *mut ::std::os::raw::c_void,
) -> SEXP;
pub fn R_tryCatchError(
arg1: ::std::option::Option<
unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> SEXP,
>,
arg2: *mut ::std::os::raw::c_void,
arg3: ::std::option::Option<
unsafe extern "C" fn(arg1: SEXP, arg2: *mut ::std::os::raw::c_void) -> SEXP,
>,
arg4: *mut ::std::os::raw::c_void,
) -> SEXP;
pub fn R_withCallingErrorHandler(
arg1: ::std::option::Option<
unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> SEXP,
>,
arg2: *mut ::std::os::raw::c_void,
arg3: ::std::option::Option<
unsafe extern "C" fn(arg1: SEXP, arg2: *mut ::std::os::raw::c_void) -> SEXP,
>,
arg4: *mut ::std::os::raw::c_void,
) -> SEXP;
pub fn R_MakeUnwindCont() -> SEXP;
pub fn R_ContinueUnwind(cont: SEXP);
pub fn R_UnwindProtect(
fun: ::std::option::Option<unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> SEXP>,
data: *mut ::std::os::raw::c_void,
cleanfun: ::std::option::Option<
unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, jump: Rboolean),
>,
cleandata: *mut ::std::os::raw::c_void,
cont: SEXP,
) -> SEXP;
#[doc = " Environment and Binding Features"]
pub fn R_NewEnv(arg1: SEXP, arg2: ::std::os::raw::c_int, arg3: ::std::os::raw::c_int) -> SEXP;
pub fn R_IsPackageEnv(rho: SEXP) -> Rboolean;
pub fn R_PackageEnvName(rho: SEXP) -> SEXP;
pub fn R_FindPackageEnv(info: SEXP) -> SEXP;
pub fn R_IsNamespaceEnv(rho: SEXP) -> Rboolean;
pub fn R_NamespaceEnvSpec(rho: SEXP) -> SEXP;
pub fn R_FindNamespace(info: SEXP) -> SEXP;
pub fn R_LockEnvironment(env: SEXP, bindings: Rboolean);
pub fn R_EnvironmentIsLocked(env: SEXP) -> Rboolean;
pub fn R_LockBinding(sym: SEXP, env: SEXP);
pub fn R_unLockBinding(sym: SEXP, env: SEXP);
pub fn R_MakeActiveBinding(sym: SEXP, fun: SEXP, env: SEXP);
pub fn R_BindingIsLocked(sym: SEXP, env: SEXP) -> Rboolean;
pub fn R_BindingIsActive(sym: SEXP, env: SEXP) -> Rboolean;
pub fn R_ActiveBindingFunction(sym: SEXP, env: SEXP) -> SEXP;
pub fn R_HasFancyBindings(rho: SEXP) -> Rboolean;
#[doc = " ../main/errors.c : */\n/* needed for R_load/savehistory handling in front ends"]
pub fn Rf_errorcall(arg1: SEXP, arg2: *const ::std::os::raw::c_char, ...);
pub fn Rf_warningcall(arg1: SEXP, arg2: *const ::std::os::raw::c_char, ...);
pub fn Rf_warningcall_immediate(arg1: SEXP, arg2: *const ::std::os::raw::c_char, ...);
pub fn R_XDREncodeDouble(d: f64, buf: *mut ::std::os::raw::c_void);
pub fn R_XDRDecodeDouble(buf: *mut ::std::os::raw::c_void) -> f64;
pub fn R_XDREncodeInteger(i: ::std::os::raw::c_int, buf: *mut ::std::os::raw::c_void);
pub fn R_XDRDecodeInteger(buf: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
pub fn R_InitInPStream(
stream: R_inpstream_t,
data: R_pstream_data_t,
type_: R_pstream_format_t,
inchar: ::std::option::Option<
unsafe extern "C" fn(arg1: R_inpstream_t) -> ::std::os::raw::c_int,
>,
inbytes: ::std::option::Option<
unsafe extern "C" fn(
arg1: R_inpstream_t,
arg2: *mut ::std::os::raw::c_void,
arg3: ::std::os::raw::c_int,
),
>,
phook: ::std::option::Option<unsafe extern "C" fn(arg1: SEXP, arg2: SEXP) -> SEXP>,
pdata: SEXP,
);
pub fn R_InitOutPStream(
stream: R_outpstream_t,
data: R_pstream_data_t,
type_: R_pstream_format_t,
version: ::std::os::raw::c_int,
outchar: ::std::option::Option<
unsafe extern "C" fn(arg1: R_outpstream_t, arg2: ::std::os::raw::c_int),
>,
outbytes: ::std::option::Option<
unsafe extern "C" fn(
arg1: R_outpstream_t,
arg2: *mut ::std::os::raw::c_void,
arg3: ::std::os::raw::c_int,
),
>,
phook: ::std::option::Option<unsafe extern "C" fn(arg1: SEXP, arg2: SEXP) -> SEXP>,
pdata: SEXP,
);
pub fn R_InitFileInPStream(
stream: R_inpstream_t,
fp: *mut FILE,
type_: R_pstream_format_t,
phook: ::std::option::Option<unsafe extern "C" fn(arg1: SEXP, arg2: SEXP) -> SEXP>,
pdata: SEXP,
);
pub fn R_InitFileOutPStream(
stream: R_outpstream_t,
fp: *mut FILE,
type_: R_pstream_format_t,
version: ::std::os::raw::c_int,
phook: ::std::option::Option<unsafe extern "C" fn(arg1: SEXP, arg2: SEXP) -> SEXP>,
pdata: SEXP,
);
pub fn R_Serialize(s: SEXP, ops: R_outpstream_t);
pub fn R_Unserialize(ips: R_inpstream_t) -> SEXP;
#[doc = " slot management (in attrib.c)"]
pub fn R_do_slot(obj: SEXP, name: SEXP) -> SEXP;
pub fn R_do_slot_assign(obj: SEXP, name: SEXP, value: SEXP) -> SEXP;
pub fn R_has_slot(obj: SEXP, name: SEXP) -> ::std::os::raw::c_int;
#[doc = " S3-S4 class (inheritance), attrib.c"]
pub fn R_S4_extends(klass: SEXP, useTable: SEXP) -> SEXP;
#[doc = " class definition, new objects (objects.c)"]
pub fn R_do_MAKE_CLASS(what: *const ::std::os::raw::c_char) -> SEXP;
pub fn R_getClassDef(what: *const ::std::os::raw::c_char) -> SEXP;
pub fn R_getClassDef_R(what: SEXP) -> SEXP;
pub fn R_has_methods_attached() -> Rboolean;
pub fn R_isVirtualClass(class_def: SEXP, env: SEXP) -> Rboolean;
pub fn R_extends(class1: SEXP, class2: SEXP, env: SEXP) -> Rboolean;
pub fn R_do_new_object(class_def: SEXP) -> SEXP;
#[doc = " supporting a C-level version of is(., .) :"]
pub fn R_check_class_and_super(
x: SEXP,
valid: *mut *const ::std::os::raw::c_char,
rho: SEXP,
) -> ::std::os::raw::c_int;
pub fn R_check_class_etc(
x: SEXP,
valid: *mut *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
#[doc = " preserve objects across GCs"]
pub fn R_PreserveObject(arg1: SEXP);
pub fn R_ReleaseObject(arg1: SEXP);
pub fn R_NewPreciousMSet(arg1: ::std::os::raw::c_int) -> SEXP;
pub fn R_PreserveInMSet(x: SEXP, mset: SEXP);
pub fn R_ReleaseFromMSet(x: SEXP, mset: SEXP);
#[doc = " Shutdown actions"]
pub fn R_dot_Last();
pub fn R_system(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
pub fn R_compute_identical(arg1: SEXP, arg2: SEXP, arg3: ::std::os::raw::c_int) -> Rboolean;
pub fn R_body_no_src(x: SEXP) -> SEXP;
#[doc = " C version of R's indx <- order(..., na.last, decreasing) :\ne.g. arglist = Rf_lang2(x,y) or Rf_lang3(x,y,z)\n\nIn sort.c"]
pub fn R_orderVector(
indx: *mut ::std::os::raw::c_int,
n: ::std::os::raw::c_int,
arglist: SEXP,
nalast: Rboolean,
decreasing: Rboolean,
);
#[doc = " C version of R's indx <- order(x, na.last, decreasing) :"]
pub fn R_orderVector1(
indx: *mut ::std::os::raw::c_int,
n: ::std::os::raw::c_int,
x: SEXP,
nalast: Rboolean,
decreasing: Rboolean,
);
#[doc = "These are the public inlinable functions that are provided in\nRinlinedfuns.h It is *essential* that these do not appear in any\nother header file, with or without the Rf_ prefix."]
pub fn Rf_allocVector(arg1: SEXPTYPE, arg2: R_xlen_t) -> SEXP;
pub fn Rf_conformable(arg1: SEXP, arg2: SEXP) -> Rboolean;
pub fn Rf_elt(arg1: SEXP, arg2: ::std::os::raw::c_int) -> SEXP;
pub fn Rf_inherits(arg1: SEXP, arg2: *const ::std::os::raw::c_char) -> Rboolean;
pub fn Rf_isArray(arg1: SEXP) -> Rboolean;
pub fn Rf_isDataFrame(arg1: SEXP) -> Rboolean;
pub fn Rf_isFactor(arg1: SEXP) -> Rboolean;
pub fn Rf_isFrame(arg1: SEXP) -> Rboolean;
pub fn Rf_isFunction(arg1: SEXP) -> Rboolean;
pub fn Rf_isInteger(arg1: SEXP) -> Rboolean;
pub fn Rf_isLanguage(arg1: SEXP) -> Rboolean;
pub fn Rf_isList(arg1: SEXP) -> Rboolean;
pub fn Rf_isMatrix(arg1: SEXP) -> Rboolean;
pub fn Rf_isNewList(arg1: SEXP) -> Rboolean;
pub fn Rf_isNumber(arg1: SEXP) -> Rboolean;
pub fn Rf_isNumeric(arg1: SEXP) -> Rboolean;
pub fn Rf_isPairList(arg1: SEXP) -> Rboolean;
pub fn Rf_isPrimitive(arg1: SEXP) -> Rboolean;
pub fn Rf_isTs(arg1: SEXP) -> Rboolean;
pub fn Rf_isUserBinop(arg1: SEXP) -> Rboolean;
pub fn Rf_isValidString(arg1: SEXP) -> Rboolean;
pub fn Rf_isValidStringF(arg1: SEXP) -> Rboolean;
pub fn Rf_isVector(arg1: SEXP) -> Rboolean;
pub fn Rf_isVectorAtomic(arg1: SEXP) -> Rboolean;
pub fn Rf_isVectorList(arg1: SEXP) -> Rboolean;
pub fn Rf_isVectorizable(arg1: SEXP) -> Rboolean;
pub fn Rf_lang1(arg1: SEXP) -> SEXP;
pub fn Rf_lang2(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_lang3(arg1: SEXP, arg2: SEXP, arg3: SEXP) -> SEXP;
pub fn Rf_lang4(arg1: SEXP, arg2: SEXP, arg3: SEXP, arg4: SEXP) -> SEXP;
pub fn Rf_lang5(arg1: SEXP, arg2: SEXP, arg3: SEXP, arg4: SEXP, arg5: SEXP) -> SEXP;
pub fn Rf_lang6(arg1: SEXP, arg2: SEXP, arg3: SEXP, arg4: SEXP, arg5: SEXP, arg6: SEXP)
-> SEXP;
pub fn Rf_lastElt(arg1: SEXP) -> SEXP;
pub fn Rf_lcons(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_length(arg1: SEXP) -> R_len_t;
pub fn Rf_list1(arg1: SEXP) -> SEXP;
pub fn Rf_list2(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_list3(arg1: SEXP, arg2: SEXP, arg3: SEXP) -> SEXP;
pub fn Rf_list4(arg1: SEXP, arg2: SEXP, arg3: SEXP, arg4: SEXP) -> SEXP;
pub fn Rf_list5(arg1: SEXP, arg2: SEXP, arg3: SEXP, arg4: SEXP, arg5: SEXP) -> SEXP;
pub fn Rf_list6(arg1: SEXP, arg2: SEXP, arg3: SEXP, arg4: SEXP, arg5: SEXP, arg6: SEXP)
-> SEXP;
pub fn Rf_listAppend(arg1: SEXP, arg2: SEXP) -> SEXP;
pub fn Rf_mkNamed(arg1: SEXPTYPE, arg2: *mut *const ::std::os::raw::c_char) -> SEXP;
pub fn Rf_mkString(arg1: *const ::std::os::raw::c_char) -> SEXP;
pub fn Rf_nlevels(arg1: SEXP) -> ::std::os::raw::c_int;
pub fn Rf_stringPositionTr(
arg1: SEXP,
arg2: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
pub fn Rf_ScalarComplex(arg1: Rcomplex) -> SEXP;
pub fn Rf_ScalarInteger(arg1: ::std::os::raw::c_int) -> SEXP;
pub fn Rf_ScalarLogical(arg1: ::std::os::raw::c_int) -> SEXP;
pub fn Rf_ScalarRaw(arg1: Rbyte) -> SEXP;
pub fn Rf_ScalarReal(arg1: f64) -> SEXP;
pub fn Rf_ScalarString(arg1: SEXP) -> SEXP;
pub fn Rf_xlength(arg1: SEXP) -> R_xlen_t;
pub fn XTRUELENGTH(x: SEXP) -> R_xlen_t;
pub fn LENGTH_EX(
x: SEXP,
file: *const ::std::os::raw::c_char,
line: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
pub fn XLENGTH_EX(x: SEXP) -> R_xlen_t;
pub fn Rf_protect(arg1: SEXP) -> SEXP;
pub fn Rf_unprotect(arg1: ::std::os::raw::c_int);
pub fn R_ProtectWithIndex(arg1: SEXP, arg2: *mut PROTECT_INDEX);
pub fn R_Reprotect(arg1: SEXP, arg2: PROTECT_INDEX);
pub fn CAR(e: SEXP) -> SEXP;
pub fn DATAPTR(x: SEXP) -> *mut ::std::os::raw::c_void;
pub fn DATAPTR_RO(x: SEXP) -> *const ::std::os::raw::c_void;
pub fn DATAPTR_OR_NULL(x: SEXP) -> *const ::std::os::raw::c_void;
pub fn LOGICAL_OR_NULL(x: SEXP) -> *const ::std::os::raw::c_int;
pub fn INTEGER_OR_NULL(x: SEXP) -> *const ::std::os::raw::c_int;
pub fn REAL_OR_NULL(x: SEXP) -> *const f64;
pub fn COMPLEX_OR_NULL(x: SEXP) -> *const Rcomplex;
pub fn RAW_OR_NULL(x: SEXP) -> *const Rbyte;
pub fn INTEGER_ELT(x: SEXP, i: R_xlen_t) -> ::std::os::raw::c_int;
pub fn REAL_ELT(x: SEXP, i: R_xlen_t) -> f64;
pub fn LOGICAL_ELT(x: SEXP, i: R_xlen_t) -> ::std::os::raw::c_int;
pub fn COMPLEX_ELT(x: SEXP, i: R_xlen_t) -> Rcomplex;
pub fn RAW_ELT(x: SEXP, i: R_xlen_t) -> Rbyte;
pub fn STRING_ELT(x: SEXP, i: R_xlen_t) -> SEXP;
pub fn SET_LOGICAL_ELT(x: SEXP, i: R_xlen_t, v: ::std::os::raw::c_int);
pub fn SET_INTEGER_ELT(x: SEXP, i: R_xlen_t, v: ::std::os::raw::c_int);
pub fn SET_REAL_ELT(x: SEXP, i: R_xlen_t, v: f64);
pub fn SET_COMPLEX_ELT(x: SEXP, i: R_xlen_t, v: Rcomplex);
pub fn SET_RAW_ELT(x: SEXP, i: R_xlen_t, v: Rbyte);
#[doc = " ALTREP support"]
pub fn ALTREP_CLASS(x: SEXP) -> SEXP;
pub fn R_altrep_data1(x: SEXP) -> SEXP;
pub fn R_altrep_data2(x: SEXP) -> SEXP;
pub fn R_set_altrep_data1(x: SEXP, v: SEXP);
pub fn R_set_altrep_data2(x: SEXP, v: SEXP);
pub fn LOGICAL0(x: SEXP) -> *mut ::std::os::raw::c_int;
pub fn INTEGER0(x: SEXP) -> *mut ::std::os::raw::c_int;
pub fn REAL0(x: SEXP) -> *mut f64;
pub fn COMPLEX0(x: SEXP) -> *mut Rcomplex;
pub fn RAW0(x: SEXP) -> *mut Rbyte;
pub fn ALTREP(x: SEXP) -> ::std::os::raw::c_int;
#[doc = " public C interface"]
pub fn R_asHashtable(h: SEXP) -> R_hashtab_type;
pub fn R_HashtabSEXP(h: R_hashtab_type) -> SEXP;
pub fn R_isHashtable(h: SEXP) -> ::std::os::raw::c_int;
pub fn R_mkhashtab(type_: ::std::os::raw::c_int, arg1: ::std::os::raw::c_int)
-> R_hashtab_type;
pub fn R_gethash(h: R_hashtab_type, key: SEXP, nomatch: SEXP) -> SEXP;
pub fn R_sethash(h: R_hashtab_type, key: SEXP, value: SEXP) -> SEXP;
pub fn R_remhash(h: R_hashtab_type, key: SEXP) -> ::std::os::raw::c_int;
pub fn R_numhash(h: R_hashtab_type) -> ::std::os::raw::c_int;
pub fn R_typhash(h: R_hashtab_type) -> ::std::os::raw::c_int;
pub fn R_maphash(h: R_hashtab_type, FUN: SEXP) -> SEXP;
pub fn R_maphashC(
h: R_hashtab_type,
FUN: ::std::option::Option<
unsafe extern "C" fn(arg1: SEXP, arg2: SEXP, arg3: *mut ::std::os::raw::c_void),
>,
data: *mut ::std::os::raw::c_void,
);
pub fn R_clrhash(h: R_hashtab_type);
#[doc = " Rest of this file\nStuff that is not API and probably should not be but is getting used."]
pub fn SET_TYPEOF(x: SEXP, v: ::std::os::raw::c_int);
#[doc = " used by Rcpp (not?), Matrix and more and in an example in R-exts."]
pub fn SET_OBJECT(x: SEXP, v: ::std::os::raw::c_int);
pub fn SET_S4_OBJECT(x: SEXP);
pub fn UNSET_S4_OBJECT(x: SEXP);
pub fn R_curErrorBuf() -> *const ::std::os::raw::c_char;
pub fn IS_SCALAR(x: SEXP, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
pub fn Rf_psmatch(
arg1: *const ::std::os::raw::c_char,
arg2: *const ::std::os::raw::c_char,
arg3: Rboolean,
) -> Rboolean;
pub fn SETLENGTH(x: SEXP, v: R_xlen_t);
pub fn SET_TRUELENGTH(x: SEXP, v: R_xlen_t);
pub fn SETLEVELS(x: SEXP, v: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
#[doc = " used by admisc arcpbf b64 box clarabel collapse declared drake fcl rlang this.path"]
pub fn SET_ENVFLAGS(x: SEXP, v: ::std::os::raw::c_int);
pub fn SET_FRAME(x: SEXP, v: SEXP);
pub fn SET_ENCLOS(x: SEXP, v: SEXP);
pub fn SET_HASHTAB(x: SEXP, v: SEXP);
#[doc = " used by S7 arcpbf b64 clarabel dplyr fcl magrittr nseval quotedargs this.path"]
pub fn SET_PRENV(x: SEXP, v: SEXP);
pub fn SET_PRVALUE(x: SEXP, v: SEXP);
pub fn SET_PRCODE(x: SEXP, v: SEXP);
pub fn STDVEC_DATAPTR(x: SEXP) -> *mut ::std::os::raw::c_void;
pub fn IS_GROWABLE(x: SEXP) -> ::std::os::raw::c_int;
pub fn SET_GROWABLE_BIT(x: SEXP);
pub fn SET_NAMED(x: SEXP, v: ::std::os::raw::c_int);
#[doc = " used by BioC::matter; might be reasonable to include in API"]
pub fn R_tryWrap(arg1: SEXP) -> SEXP;
}