aboutsummaryrefslogtreecommitdiff
path: root/src/RcppExports.cpp
blob: 69c817ef6ea51ef5e64f6534bcf3e75a5d8cc5d0 (plain)
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
// Generated by using Rcpp::compileAttributes() -> do not edit by hand
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

#include <RcppArmadillo.h>
#include <RcppEigen.h>
#include <Rcpp.h>

using namespace Rcpp;

#ifdef RCPP_USE_GLOBAL_ROSTREAM
Rcpp::Rostream<true>&  Rcpp::Rcout = Rcpp::Rcpp_cout_get();
Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get();
#endif

// get_lik_trans
List get_lik_trans(arma::umat I, arma::umat I1);
RcppExport SEXP _unmarked_get_lik_trans(SEXP ISEXP, SEXP I1SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::umat >::type I(ISEXP);
    Rcpp::traits::input_parameter< arma::umat >::type I1(I1SEXP);
    rcpp_result_gen = Rcpp::wrap(get_lik_trans(I, I1));
    return rcpp_result_gen;
END_RCPP
}
// get_mlogit
arma::mat get_mlogit(arma::mat lp_mat, std::string type, int S, arma::mat guide);
RcppExport SEXP _unmarked_get_mlogit(SEXP lp_matSEXP, SEXP typeSEXP, SEXP SSEXP, SEXP guideSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type lp_mat(lp_matSEXP);
    Rcpp::traits::input_parameter< std::string >::type type(typeSEXP);
    Rcpp::traits::input_parameter< int >::type S(SSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type guide(guideSEXP);
    rcpp_result_gen = Rcpp::wrap(get_mlogit(lp_mat, type, S, guide));
    return rcpp_result_gen;
END_RCPP
}
// nll_distsamp
double nll_distsamp(Rcpp::IntegerMatrix y, Rcpp::NumericVector lam, Rcpp::NumericVector sig, double scale, Rcpp::NumericMatrix a, Rcpp::NumericMatrix u, Rcpp::NumericVector w, Rcpp::NumericVector db, std::string keyfun, std::string survey);
RcppExport SEXP _unmarked_nll_distsamp(SEXP ySEXP, SEXP lamSEXP, SEXP sigSEXP, SEXP scaleSEXP, SEXP aSEXP, SEXP uSEXP, SEXP wSEXP, SEXP dbSEXP, SEXP keyfunSEXP, SEXP surveySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::IntegerMatrix >::type y(ySEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type lam(lamSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type sig(sigSEXP);
    Rcpp::traits::input_parameter< double >::type scale(scaleSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type a(aSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type u(uSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type w(wSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type db(dbSEXP);
    Rcpp::traits::input_parameter< std::string >::type keyfun(keyfunSEXP);
    Rcpp::traits::input_parameter< std::string >::type survey(surveySEXP);
    rcpp_result_gen = Rcpp::wrap(nll_distsamp(y, lam, sig, scale, a, u, w, db, keyfun, survey));
    return rcpp_result_gen;
END_RCPP
}
// nll_distsampOpen
double nll_distsampOpen(arma::ucube y, arma::imat yt, arma::mat Xlam, arma::mat Xgam, arma::mat Xom, arma::mat Xsig, arma::mat Xiota, arma::vec beta, arma::umat bi, arma::colvec Xlam_offset, arma::colvec Xgam_offset, arma::colvec Xom_offset, arma::colvec Xsig_offset, arma::colvec Xiota_offset, arma::imat ytna, int lk, std::string mixture, Rcpp::IntegerVector first, Rcpp::IntegerVector last, int first1, int M, int T, arma::imat delta, std::string dynamics, std::string survey, std::string fix, std::string go_dims, bool immigration, arma::imat I, arma::imat I1, Rcpp::List Ib, Rcpp::List Ip, arma::mat a, arma::mat u, arma::vec w, arma::vec db, std::string keyfun, arma::vec lfac_k, arma::cube kmyt, arma::cube lfac_kmyt, arma::icube fin, arma::vec A);
RcppExport SEXP _unmarked_nll_distsampOpen(SEXP ySEXP, SEXP ytSEXP, SEXP XlamSEXP, SEXP XgamSEXP, SEXP XomSEXP, SEXP XsigSEXP, SEXP XiotaSEXP, SEXP betaSEXP, SEXP biSEXP, SEXP Xlam_offsetSEXP, SEXP Xgam_offsetSEXP, SEXP Xom_offsetSEXP, SEXP Xsig_offsetSEXP, SEXP Xiota_offsetSEXP, SEXP ytnaSEXP, SEXP lkSEXP, SEXP mixtureSEXP, SEXP firstSEXP, SEXP lastSEXP, SEXP first1SEXP, SEXP MSEXP, SEXP TSEXP, SEXP deltaSEXP, SEXP dynamicsSEXP, SEXP surveySEXP, SEXP fixSEXP, SEXP go_dimsSEXP, SEXP immigrationSEXP, SEXP ISEXP, SEXP I1SEXP, SEXP IbSEXP, SEXP IpSEXP, SEXP aSEXP, SEXP uSEXP, SEXP wSEXP, SEXP dbSEXP, SEXP keyfunSEXP, SEXP lfac_kSEXP, SEXP kmytSEXP, SEXP lfac_kmytSEXP, SEXP finSEXP, SEXP ASEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::ucube >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::imat >::type yt(ytSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xlam(XlamSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xgam(XgamSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xom(XomSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xsig(XsigSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xiota(XiotaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::umat >::type bi(biSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xlam_offset(Xlam_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xgam_offset(Xgam_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xom_offset(Xom_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xsig_offset(Xsig_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xiota_offset(Xiota_offsetSEXP);
    Rcpp::traits::input_parameter< arma::imat >::type ytna(ytnaSEXP);
    Rcpp::traits::input_parameter< int >::type lk(lkSEXP);
    Rcpp::traits::input_parameter< std::string >::type mixture(mixtureSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type first(firstSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type last(lastSEXP);
    Rcpp::traits::input_parameter< int >::type first1(first1SEXP);
    Rcpp::traits::input_parameter< int >::type M(MSEXP);
    Rcpp::traits::input_parameter< int >::type T(TSEXP);
    Rcpp::traits::input_parameter< arma::imat >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< std::string >::type dynamics(dynamicsSEXP);
    Rcpp::traits::input_parameter< std::string >::type survey(surveySEXP);
    Rcpp::traits::input_parameter< std::string >::type fix(fixSEXP);
    Rcpp::traits::input_parameter< std::string >::type go_dims(go_dimsSEXP);
    Rcpp::traits::input_parameter< bool >::type immigration(immigrationSEXP);
    Rcpp::traits::input_parameter< arma::imat >::type I(ISEXP);
    Rcpp::traits::input_parameter< arma::imat >::type I1(I1SEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type Ib(IbSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type Ip(IpSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type a(aSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type u(uSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type w(wSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type db(dbSEXP);
    Rcpp::traits::input_parameter< std::string >::type keyfun(keyfunSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type lfac_k(lfac_kSEXP);
    Rcpp::traits::input_parameter< arma::cube >::type kmyt(kmytSEXP);
    Rcpp::traits::input_parameter< arma::cube >::type lfac_kmyt(lfac_kmytSEXP);
    Rcpp::traits::input_parameter< arma::icube >::type fin(finSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type A(ASEXP);
    rcpp_result_gen = Rcpp::wrap(nll_distsampOpen(y, yt, Xlam, Xgam, Xom, Xsig, Xiota, beta, bi, Xlam_offset, Xgam_offset, Xom_offset, Xsig_offset, Xiota_offset, ytna, lk, mixture, first, last, first1, M, T, delta, dynamics, survey, fix, go_dims, immigration, I, I1, Ib, Ip, a, u, w, db, keyfun, lfac_k, kmyt, lfac_kmyt, fin, A));
    return rcpp_result_gen;
END_RCPP
}
// nll_gdistremoval
double nll_gdistremoval(arma::vec beta, arma::uvec n_param, arma::vec yDistance, arma::vec yRemoval, arma::mat ysum, int mixture, std::string keyfun, arma::mat Xlam, arma::vec A, arma::mat Xphi, arma::mat Xrem, arma::mat Xdist, arma::vec db, arma::mat a, arma::mat u, arma::vec w, arma::uvec pl, int K, arma::uvec Kmin, int threads);
RcppExport SEXP _unmarked_nll_gdistremoval(SEXP betaSEXP, SEXP n_paramSEXP, SEXP yDistanceSEXP, SEXP yRemovalSEXP, SEXP ysumSEXP, SEXP mixtureSEXP, SEXP keyfunSEXP, SEXP XlamSEXP, SEXP ASEXP, SEXP XphiSEXP, SEXP XremSEXP, SEXP XdistSEXP, SEXP dbSEXP, SEXP aSEXP, SEXP uSEXP, SEXP wSEXP, SEXP plSEXP, SEXP KSEXP, SEXP KminSEXP, SEXP threadsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::uvec >::type n_param(n_paramSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type yDistance(yDistanceSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type yRemoval(yRemovalSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type ysum(ysumSEXP);
    Rcpp::traits::input_parameter< int >::type mixture(mixtureSEXP);
    Rcpp::traits::input_parameter< std::string >::type keyfun(keyfunSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xlam(XlamSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type A(ASEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xphi(XphiSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xrem(XremSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xdist(XdistSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type db(dbSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type a(aSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type u(uSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type w(wSEXP);
    Rcpp::traits::input_parameter< arma::uvec >::type pl(plSEXP);
    Rcpp::traits::input_parameter< int >::type K(KSEXP);
    Rcpp::traits::input_parameter< arma::uvec >::type Kmin(KminSEXP);
    Rcpp::traits::input_parameter< int >::type threads(threadsSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_gdistremoval(beta, n_param, yDistance, yRemoval, ysum, mixture, keyfun, Xlam, A, Xphi, Xrem, Xdist, db, a, u, w, pl, K, Kmin, threads));
    return rcpp_result_gen;
END_RCPP
}
// nll_gdistsamp
double nll_gdistsamp(arma::vec beta, arma::uvec n_param, arma::vec y, int mixture, std::string keyfun, std::string survey, arma::mat Xlam, arma::vec Xlam_offset, arma::vec A, arma::mat Xphi, arma::vec Xphi_offset, arma::mat Xdet, arma::vec Xdet_offset, arma::vec db, arma::mat a, arma::mat u, arma::vec w, int K, arma::uvec Kmin, int threads);
RcppExport SEXP _unmarked_nll_gdistsamp(SEXP betaSEXP, SEXP n_paramSEXP, SEXP ySEXP, SEXP mixtureSEXP, SEXP keyfunSEXP, SEXP surveySEXP, SEXP XlamSEXP, SEXP Xlam_offsetSEXP, SEXP ASEXP, SEXP XphiSEXP, SEXP Xphi_offsetSEXP, SEXP XdetSEXP, SEXP Xdet_offsetSEXP, SEXP dbSEXP, SEXP aSEXP, SEXP uSEXP, SEXP wSEXP, SEXP KSEXP, SEXP KminSEXP, SEXP threadsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::uvec >::type n_param(n_paramSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< int >::type mixture(mixtureSEXP);
    Rcpp::traits::input_parameter< std::string >::type keyfun(keyfunSEXP);
    Rcpp::traits::input_parameter< std::string >::type survey(surveySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xlam(XlamSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xlam_offset(Xlam_offsetSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type A(ASEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xphi(XphiSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xphi_offset(Xphi_offsetSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xdet(XdetSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xdet_offset(Xdet_offsetSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type db(dbSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type a(aSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type u(uSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type w(wSEXP);
    Rcpp::traits::input_parameter< int >::type K(KSEXP);
    Rcpp::traits::input_parameter< arma::uvec >::type Kmin(KminSEXP);
    Rcpp::traits::input_parameter< int >::type threads(threadsSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_gdistsamp(beta, n_param, y, mixture, keyfun, survey, Xlam, Xlam_offset, A, Xphi, Xphi_offset, Xdet, Xdet_offset, db, a, u, w, K, Kmin, threads));
    return rcpp_result_gen;
END_RCPP
}
// nll_gmultmix
double nll_gmultmix(arma::vec beta, arma::uvec n_param, arma::vec y, int mixture, std::string pi_fun, arma::mat Xlam, arma::vec Xlam_offset, arma::mat Xphi, arma::vec Xphi_offset, arma::mat Xdet, arma::vec Xdet_offset, arma::vec k, arma::vec lfac_k, arma::cube lfac_kmyt, arma::cube kmyt, arma::vec Kmin, int threads);
RcppExport SEXP _unmarked_nll_gmultmix(SEXP betaSEXP, SEXP n_paramSEXP, SEXP ySEXP, SEXP mixtureSEXP, SEXP pi_funSEXP, SEXP XlamSEXP, SEXP Xlam_offsetSEXP, SEXP XphiSEXP, SEXP Xphi_offsetSEXP, SEXP XdetSEXP, SEXP Xdet_offsetSEXP, SEXP kSEXP, SEXP lfac_kSEXP, SEXP lfac_kmytSEXP, SEXP kmytSEXP, SEXP KminSEXP, SEXP threadsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::uvec >::type n_param(n_paramSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< int >::type mixture(mixtureSEXP);
    Rcpp::traits::input_parameter< std::string >::type pi_fun(pi_funSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xlam(XlamSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xlam_offset(Xlam_offsetSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xphi(XphiSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xphi_offset(Xphi_offsetSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xdet(XdetSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xdet_offset(Xdet_offsetSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type k(kSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type lfac_k(lfac_kSEXP);
    Rcpp::traits::input_parameter< arma::cube >::type lfac_kmyt(lfac_kmytSEXP);
    Rcpp::traits::input_parameter< arma::cube >::type kmyt(kmytSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Kmin(KminSEXP);
    Rcpp::traits::input_parameter< int >::type threads(threadsSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_gmultmix(beta, n_param, y, mixture, pi_fun, Xlam, Xlam_offset, Xphi, Xphi_offset, Xdet, Xdet_offset, k, lfac_k, lfac_kmyt, kmyt, Kmin, threads));
    return rcpp_result_gen;
END_RCPP
}
// nll_gpcount
double nll_gpcount(arma::mat ym, arma::mat Xlam, arma::mat Xphi, arma::mat Xp, arma::vec beta_lam, arma::vec beta_phi, arma::vec beta_p, double log_alpha, arma::vec Xlam_offset, arma::vec Xphi_offset, arma::vec Xp_offset, int M, std::string mixture, int T, int threads);
RcppExport SEXP _unmarked_nll_gpcount(SEXP ymSEXP, SEXP XlamSEXP, SEXP XphiSEXP, SEXP XpSEXP, SEXP beta_lamSEXP, SEXP beta_phiSEXP, SEXP beta_pSEXP, SEXP log_alphaSEXP, SEXP Xlam_offsetSEXP, SEXP Xphi_offsetSEXP, SEXP Xp_offsetSEXP, SEXP MSEXP, SEXP mixtureSEXP, SEXP TSEXP, SEXP threadsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type ym(ymSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xlam(XlamSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xphi(XphiSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xp(XpSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type beta_lam(beta_lamSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type beta_phi(beta_phiSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type beta_p(beta_pSEXP);
    Rcpp::traits::input_parameter< double >::type log_alpha(log_alphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xlam_offset(Xlam_offsetSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xphi_offset(Xphi_offsetSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xp_offset(Xp_offsetSEXP);
    Rcpp::traits::input_parameter< int >::type M(MSEXP);
    Rcpp::traits::input_parameter< std::string >::type mixture(mixtureSEXP);
    Rcpp::traits::input_parameter< int >::type T(TSEXP);
    Rcpp::traits::input_parameter< int >::type threads(threadsSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_gpcount(ym, Xlam, Xphi, Xp, beta_lam, beta_phi, beta_p, log_alpha, Xlam_offset, Xphi_offset, Xp_offset, M, mixture, T, threads));
    return rcpp_result_gen;
END_RCPP
}
// nll_multinomPois
double nll_multinomPois(arma::vec beta, std::string pi_fun, arma::mat Xlam, arma::vec Xlam_offset, arma::mat Xdet, arma::vec Xdet_offset, arma::vec y, arma::vec navec, int nP, int nAP);
RcppExport SEXP _unmarked_nll_multinomPois(SEXP betaSEXP, SEXP pi_funSEXP, SEXP XlamSEXP, SEXP Xlam_offsetSEXP, SEXP XdetSEXP, SEXP Xdet_offsetSEXP, SEXP ySEXP, SEXP navecSEXP, SEXP nPSEXP, SEXP nAPSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< std::string >::type pi_fun(pi_funSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xlam(XlamSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xlam_offset(Xlam_offsetSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xdet(XdetSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type Xdet_offset(Xdet_offsetSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::vec >::type navec(navecSEXP);
    Rcpp::traits::input_parameter< int >::type nP(nPSEXP);
    Rcpp::traits::input_parameter< int >::type nAP(nAPSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_multinomPois(beta, pi_fun, Xlam, Xlam_offset, Xdet, Xdet_offset, y, navec, nP, nAP));
    return rcpp_result_gen;
END_RCPP
}
// nll_multmixOpen
double nll_multmixOpen(arma::ucube y, arma::imat yt, arma::mat Xlam, arma::mat Xgam, arma::mat Xom, arma::mat Xp, arma::mat Xiota, arma::vec beta, arma::umat bi, arma::colvec Xlam_offset, arma::colvec Xgam_offset, arma::colvec Xom_offset, arma::colvec Xp_offset, arma::colvec Xiota_offset, arma::imat ytna, arma::ucube yna, int lk, std::string mixture, Rcpp::IntegerVector first, Rcpp::IntegerVector last, int first1, int M, int T, int J, int R, arma::imat delta, std::string dynamics, std::string fix, std::string go_dims, bool immigration, arma::imat I, arma::imat I1, Rcpp::List Ib, Rcpp::List Ip, std::string pi_fun, arma::vec lfac_k, arma::cube kmyt, arma::cube lfac_kmyt, arma::icube fin);
RcppExport SEXP _unmarked_nll_multmixOpen(SEXP ySEXP, SEXP ytSEXP, SEXP XlamSEXP, SEXP XgamSEXP, SEXP XomSEXP, SEXP XpSEXP, SEXP XiotaSEXP, SEXP betaSEXP, SEXP biSEXP, SEXP Xlam_offsetSEXP, SEXP Xgam_offsetSEXP, SEXP Xom_offsetSEXP, SEXP Xp_offsetSEXP, SEXP Xiota_offsetSEXP, SEXP ytnaSEXP, SEXP ynaSEXP, SEXP lkSEXP, SEXP mixtureSEXP, SEXP firstSEXP, SEXP lastSEXP, SEXP first1SEXP, SEXP MSEXP, SEXP TSEXP, SEXP JSEXP, SEXP RSEXP, SEXP deltaSEXP, SEXP dynamicsSEXP, SEXP fixSEXP, SEXP go_dimsSEXP, SEXP immigrationSEXP, SEXP ISEXP, SEXP I1SEXP, SEXP IbSEXP, SEXP IpSEXP, SEXP pi_funSEXP, SEXP lfac_kSEXP, SEXP kmytSEXP, SEXP lfac_kmytSEXP, SEXP finSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::ucube >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::imat >::type yt(ytSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xlam(XlamSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xgam(XgamSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xom(XomSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xp(XpSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xiota(XiotaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::umat >::type bi(biSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xlam_offset(Xlam_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xgam_offset(Xgam_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xom_offset(Xom_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xp_offset(Xp_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xiota_offset(Xiota_offsetSEXP);
    Rcpp::traits::input_parameter< arma::imat >::type ytna(ytnaSEXP);
    Rcpp::traits::input_parameter< arma::ucube >::type yna(ynaSEXP);
    Rcpp::traits::input_parameter< int >::type lk(lkSEXP);
    Rcpp::traits::input_parameter< std::string >::type mixture(mixtureSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type first(firstSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type last(lastSEXP);
    Rcpp::traits::input_parameter< int >::type first1(first1SEXP);
    Rcpp::traits::input_parameter< int >::type M(MSEXP);
    Rcpp::traits::input_parameter< int >::type T(TSEXP);
    Rcpp::traits::input_parameter< int >::type J(JSEXP);
    Rcpp::traits::input_parameter< int >::type R(RSEXP);
    Rcpp::traits::input_parameter< arma::imat >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< std::string >::type dynamics(dynamicsSEXP);
    Rcpp::traits::input_parameter< std::string >::type fix(fixSEXP);
    Rcpp::traits::input_parameter< std::string >::type go_dims(go_dimsSEXP);
    Rcpp::traits::input_parameter< bool >::type immigration(immigrationSEXP);
    Rcpp::traits::input_parameter< arma::imat >::type I(ISEXP);
    Rcpp::traits::input_parameter< arma::imat >::type I1(I1SEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type Ib(IbSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type Ip(IpSEXP);
    Rcpp::traits::input_parameter< std::string >::type pi_fun(pi_funSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type lfac_k(lfac_kSEXP);
    Rcpp::traits::input_parameter< arma::cube >::type kmyt(kmytSEXP);
    Rcpp::traits::input_parameter< arma::cube >::type lfac_kmyt(lfac_kmytSEXP);
    Rcpp::traits::input_parameter< arma::icube >::type fin(finSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_multmixOpen(y, yt, Xlam, Xgam, Xom, Xp, Xiota, beta, bi, Xlam_offset, Xgam_offset, Xom_offset, Xp_offset, Xiota_offset, ytna, yna, lk, mixture, first, last, first1, M, T, J, R, delta, dynamics, fix, go_dims, immigration, I, I1, Ib, Ip, pi_fun, lfac_k, kmyt, lfac_kmyt, fin));
    return rcpp_result_gen;
END_RCPP
}
// nll_nmixTTD
double nll_nmixTTD(const arma::vec beta, const arma::vec y, const arma::vec delta, const arma::mat W, const arma::mat V, const arma::umat pinds, const std::string mixture, const std::string tdist, int N, int J, int K, const arma::vec naflag, int threads);
RcppExport SEXP _unmarked_nll_nmixTTD(SEXP betaSEXP, SEXP ySEXP, SEXP deltaSEXP, SEXP WSEXP, SEXP VSEXP, SEXP pindsSEXP, SEXP mixtureSEXP, SEXP tdistSEXP, SEXP NSEXP, SEXP JSEXP, SEXP KSEXP, SEXP naflagSEXP, SEXP threadsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< const arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< const arma::mat >::type V(VSEXP);
    Rcpp::traits::input_parameter< const arma::umat >::type pinds(pindsSEXP);
    Rcpp::traits::input_parameter< const std::string >::type mixture(mixtureSEXP);
    Rcpp::traits::input_parameter< const std::string >::type tdist(tdistSEXP);
    Rcpp::traits::input_parameter< int >::type N(NSEXP);
    Rcpp::traits::input_parameter< int >::type J(JSEXP);
    Rcpp::traits::input_parameter< int >::type K(KSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type naflag(naflagSEXP);
    Rcpp::traits::input_parameter< int >::type threads(threadsSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_nmixTTD(beta, y, delta, W, V, pinds, mixture, tdist, N, J, K, naflag, threads));
    return rcpp_result_gen;
END_RCPP
}
// nll_occu
double nll_occu(arma::icolvec y, arma::mat X, arma::mat V, arma::colvec beta_psi, arma::colvec beta_p, Rcpp::IntegerVector nd, Rcpp::LogicalVector knownOcc, Rcpp::LogicalVector navec, arma::colvec X_offset, arma::colvec V_offset, std::string link_psi);
RcppExport SEXP _unmarked_nll_occu(SEXP ySEXP, SEXP XSEXP, SEXP VSEXP, SEXP beta_psiSEXP, SEXP beta_pSEXP, SEXP ndSEXP, SEXP knownOccSEXP, SEXP navecSEXP, SEXP X_offsetSEXP, SEXP V_offsetSEXP, SEXP link_psiSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::icolvec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type X(XSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type V(VSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_psi(beta_psiSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_p(beta_pSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type nd(ndSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type knownOcc(knownOccSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type navec(navecSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type X_offset(X_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type V_offset(V_offsetSEXP);
    Rcpp::traits::input_parameter< std::string >::type link_psi(link_psiSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_occu(y, X, V, beta_psi, beta_p, nd, knownOcc, navec, X_offset, V_offset, link_psi));
    return rcpp_result_gen;
END_RCPP
}
// nll_occuCOP
double nll_occuCOP(arma::icolvec y, arma::icolvec L, arma::mat Xpsi, arma::mat Xlambda, arma::colvec beta_psi, arma::colvec beta_lambda, Rcpp::LogicalVector removed);
RcppExport SEXP _unmarked_nll_occuCOP(SEXP ySEXP, SEXP LSEXP, SEXP XpsiSEXP, SEXP XlambdaSEXP, SEXP beta_psiSEXP, SEXP beta_lambdaSEXP, SEXP removedSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::icolvec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::icolvec >::type L(LSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xpsi(XpsiSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xlambda(XlambdaSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_psi(beta_psiSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_lambda(beta_lambdaSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type removed(removedSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_occuCOP(y, L, Xpsi, Xlambda, beta_psi, beta_lambda, removed));
    return rcpp_result_gen;
END_RCPP
}
// nll_occuMS
double nll_occuMS(arma::vec beta, arma::mat y, Rcpp::List dm_state, Rcpp::List dm_phi, Rcpp::List dm_det, arma::mat sind, arma::mat pind, arma::mat dind, std::string prm, int S, int T, int J, int N, arma::mat naflag, arma::mat guide);
RcppExport SEXP _unmarked_nll_occuMS(SEXP betaSEXP, SEXP ySEXP, SEXP dm_stateSEXP, SEXP dm_phiSEXP, SEXP dm_detSEXP, SEXP sindSEXP, SEXP pindSEXP, SEXP dindSEXP, SEXP prmSEXP, SEXP SSEXP, SEXP TSEXP, SEXP JSEXP, SEXP NSEXP, SEXP naflagSEXP, SEXP guideSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type y(ySEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type dm_state(dm_stateSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type dm_phi(dm_phiSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type dm_det(dm_detSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type sind(sindSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type pind(pindSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type dind(dindSEXP);
    Rcpp::traits::input_parameter< std::string >::type prm(prmSEXP);
    Rcpp::traits::input_parameter< int >::type S(SSEXP);
    Rcpp::traits::input_parameter< int >::type T(TSEXP);
    Rcpp::traits::input_parameter< int >::type J(JSEXP);
    Rcpp::traits::input_parameter< int >::type N(NSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type naflag(naflagSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type guide(guideSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_occuMS(beta, y, dm_state, dm_phi, dm_det, sind, pind, dind, prm, S, T, J, N, naflag, guide));
    return rcpp_result_gen;
END_RCPP
}
// nll_occuMulti_loglik
arma::vec nll_occuMulti_loglik(Rcpp::IntegerVector fStart, Rcpp::IntegerVector fStop, arma::sp_mat dmF, Rcpp::List dmOcc, arma::colvec beta, Rcpp::List dmDet, Rcpp::IntegerVector dStart, Rcpp::IntegerVector dStop, arma::mat y, Rcpp::IntegerVector yStart, Rcpp::IntegerVector yStop, arma::mat Iy0, arma::mat z, Rcpp::LogicalVector fixed0);
RcppExport SEXP _unmarked_nll_occuMulti_loglik(SEXP fStartSEXP, SEXP fStopSEXP, SEXP dmFSEXP, SEXP dmOccSEXP, SEXP betaSEXP, SEXP dmDetSEXP, SEXP dStartSEXP, SEXP dStopSEXP, SEXP ySEXP, SEXP yStartSEXP, SEXP yStopSEXP, SEXP Iy0SEXP, SEXP zSEXP, SEXP fixed0SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type fStart(fStartSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type fStop(fStopSEXP);
    Rcpp::traits::input_parameter< arma::sp_mat >::type dmF(dmFSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type dmOcc(dmOccSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type dmDet(dmDetSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type dStart(dStartSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type dStop(dStopSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type y(ySEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type yStart(yStartSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type yStop(yStopSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Iy0(Iy0SEXP);
    Rcpp::traits::input_parameter< arma::mat >::type z(zSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type fixed0(fixed0SEXP);
    rcpp_result_gen = Rcpp::wrap(nll_occuMulti_loglik(fStart, fStop, dmF, dmOcc, beta, dmDet, dStart, dStop, y, yStart, yStop, Iy0, z, fixed0));
    return rcpp_result_gen;
END_RCPP
}
// nll_occuMulti
double nll_occuMulti(Rcpp::IntegerVector fStart, Rcpp::IntegerVector fStop, arma::sp_mat dmF, Rcpp::List dmOcc, arma::colvec beta, Rcpp::List dmDet, Rcpp::IntegerVector dStart, Rcpp::IntegerVector dStop, arma::mat y, Rcpp::IntegerVector yStart, Rcpp::IntegerVector yStop, arma::mat Iy0, arma::mat z, Rcpp::LogicalVector fixed0, double penalty);
RcppExport SEXP _unmarked_nll_occuMulti(SEXP fStartSEXP, SEXP fStopSEXP, SEXP dmFSEXP, SEXP dmOccSEXP, SEXP betaSEXP, SEXP dmDetSEXP, SEXP dStartSEXP, SEXP dStopSEXP, SEXP ySEXP, SEXP yStartSEXP, SEXP yStopSEXP, SEXP Iy0SEXP, SEXP zSEXP, SEXP fixed0SEXP, SEXP penaltySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type fStart(fStartSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type fStop(fStopSEXP);
    Rcpp::traits::input_parameter< arma::sp_mat >::type dmF(dmFSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type dmOcc(dmOccSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type dmDet(dmDetSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type dStart(dStartSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type dStop(dStopSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type y(ySEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type yStart(yStartSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type yStop(yStopSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Iy0(Iy0SEXP);
    Rcpp::traits::input_parameter< arma::mat >::type z(zSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type fixed0(fixed0SEXP);
    Rcpp::traits::input_parameter< double >::type penalty(penaltySEXP);
    rcpp_result_gen = Rcpp::wrap(nll_occuMulti(fStart, fStop, dmF, dmOcc, beta, dmDet, dStart, dStop, y, yStart, yStop, Iy0, z, fixed0, penalty));
    return rcpp_result_gen;
END_RCPP
}
// nll_occuPEN
double nll_occuPEN(arma::icolvec y, arma::mat X, arma::mat V, arma::colvec beta_psi, arma::colvec beta_p, Rcpp::IntegerVector nd, Rcpp::LogicalVector knownOcc, Rcpp::LogicalVector navec, arma::colvec X_offset, arma::colvec V_offset, double penalty);
RcppExport SEXP _unmarked_nll_occuPEN(SEXP ySEXP, SEXP XSEXP, SEXP VSEXP, SEXP beta_psiSEXP, SEXP beta_pSEXP, SEXP ndSEXP, SEXP knownOccSEXP, SEXP navecSEXP, SEXP X_offsetSEXP, SEXP V_offsetSEXP, SEXP penaltySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::icolvec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type X(XSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type V(VSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_psi(beta_psiSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_p(beta_pSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type nd(ndSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type knownOcc(knownOccSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type navec(navecSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type X_offset(X_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type V_offset(V_offsetSEXP);
    Rcpp::traits::input_parameter< double >::type penalty(penaltySEXP);
    rcpp_result_gen = Rcpp::wrap(nll_occuPEN(y, X, V, beta_psi, beta_p, nd, knownOcc, navec, X_offset, V_offset, penalty));
    return rcpp_result_gen;
END_RCPP
}
// nll_occuRN
double nll_occuRN(const arma::vec beta, const arma::uvec n_param, const arma::mat y, const arma::mat X, const arma::mat V, const arma::vec X_offset, const arma::vec V_offset, int K, const arma::uvec Kmin, int threads);
RcppExport SEXP _unmarked_nll_occuRN(SEXP betaSEXP, SEXP n_paramSEXP, SEXP ySEXP, SEXP XSEXP, SEXP VSEXP, SEXP X_offsetSEXP, SEXP V_offsetSEXP, SEXP KSEXP, SEXP KminSEXP, SEXP threadsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< const arma::uvec >::type n_param(n_paramSEXP);
    Rcpp::traits::input_parameter< const arma::mat >::type y(ySEXP);
    Rcpp::traits::input_parameter< const arma::mat >::type X(XSEXP);
    Rcpp::traits::input_parameter< const arma::mat >::type V(VSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type X_offset(X_offsetSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type V_offset(V_offsetSEXP);
    Rcpp::traits::input_parameter< int >::type K(KSEXP);
    Rcpp::traits::input_parameter< const arma::uvec >::type Kmin(KminSEXP);
    Rcpp::traits::input_parameter< int >::type threads(threadsSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_occuRN(beta, n_param, y, X, V, X_offset, V_offset, K, Kmin, threads));
    return rcpp_result_gen;
END_RCPP
}
// nll_occuTTD
double nll_occuTTD(arma::vec beta, arma::vec y, arma::vec delta, arma::mat W, arma::mat V, arma::mat Xgam, arma::mat Xeps, arma::vec pind, arma::vec dind, arma::vec cind, arma::vec eind, std::string lpsi, std::string tdist, int N, int T, int J, arma::vec naflag);
RcppExport SEXP _unmarked_nll_occuTTD(SEXP betaSEXP, SEXP ySEXP, SEXP deltaSEXP, SEXP WSEXP, SEXP VSEXP, SEXP XgamSEXP, SEXP XepsSEXP, SEXP pindSEXP, SEXP dindSEXP, SEXP cindSEXP, SEXP eindSEXP, SEXP lpsiSEXP, SEXP tdistSEXP, SEXP NSEXP, SEXP TSEXP, SEXP JSEXP, SEXP naflagSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::vec >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type V(VSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xgam(XgamSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xeps(XepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type pind(pindSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type dind(dindSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type cind(cindSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type eind(eindSEXP);
    Rcpp::traits::input_parameter< std::string >::type lpsi(lpsiSEXP);
    Rcpp::traits::input_parameter< std::string >::type tdist(tdistSEXP);
    Rcpp::traits::input_parameter< int >::type N(NSEXP);
    Rcpp::traits::input_parameter< int >::type T(TSEXP);
    Rcpp::traits::input_parameter< int >::type J(JSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type naflag(naflagSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_occuTTD(beta, y, delta, W, V, Xgam, Xeps, pind, dind, cind, eind, lpsi, tdist, N, T, J, naflag));
    return rcpp_result_gen;
END_RCPP
}
// nll_pcount
double nll_pcount(const arma::vec beta, const arma::uvec n_param, const arma::mat y, const arma::mat X, const arma::mat V, const arma::vec X_offset, const arma::vec V_offset, int K, const arma::uvec Kmin, int mixture, int threads);
RcppExport SEXP _unmarked_nll_pcount(SEXP betaSEXP, SEXP n_paramSEXP, SEXP ySEXP, SEXP XSEXP, SEXP VSEXP, SEXP X_offsetSEXP, SEXP V_offsetSEXP, SEXP KSEXP, SEXP KminSEXP, SEXP mixtureSEXP, SEXP threadsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< const arma::uvec >::type n_param(n_paramSEXP);
    Rcpp::traits::input_parameter< const arma::mat >::type y(ySEXP);
    Rcpp::traits::input_parameter< const arma::mat >::type X(XSEXP);
    Rcpp::traits::input_parameter< const arma::mat >::type V(VSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type X_offset(X_offsetSEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type V_offset(V_offsetSEXP);
    Rcpp::traits::input_parameter< int >::type K(KSEXP);
    Rcpp::traits::input_parameter< const arma::uvec >::type Kmin(KminSEXP);
    Rcpp::traits::input_parameter< int >::type mixture(mixtureSEXP);
    Rcpp::traits::input_parameter< int >::type threads(threadsSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_pcount(beta, n_param, y, X, V, X_offset, V_offset, K, Kmin, mixture, threads));
    return rcpp_result_gen;
END_RCPP
}
// nll_pcountOpen
double nll_pcountOpen(arma::imat ym, arma::mat Xlam, arma::mat Xgam, arma::mat Xom, arma::mat Xp, arma::mat Xiota, arma::colvec beta_lam, arma::colvec beta_gam, arma::colvec beta_om, arma::colvec beta_p, arma::colvec beta_iota, double log_alpha, arma::colvec Xlam_offset, arma::colvec Xgam_offset, arma::colvec Xom_offset, arma::colvec Xp_offset, arma::colvec Xiota_offset, arma::imat ytna, arma::imat ynam, int lk, std::string mixture, Rcpp::IntegerVector first, Rcpp::IntegerVector last, int M, int J, int T, arma::imat delta, std::string dynamics, std::string fix, std::string go_dims, bool immigration, arma::imat I, arma::imat I1, Rcpp::List Ib, Rcpp::List Ip);
RcppExport SEXP _unmarked_nll_pcountOpen(SEXP ymSEXP, SEXP XlamSEXP, SEXP XgamSEXP, SEXP XomSEXP, SEXP XpSEXP, SEXP XiotaSEXP, SEXP beta_lamSEXP, SEXP beta_gamSEXP, SEXP beta_omSEXP, SEXP beta_pSEXP, SEXP beta_iotaSEXP, SEXP log_alphaSEXP, SEXP Xlam_offsetSEXP, SEXP Xgam_offsetSEXP, SEXP Xom_offsetSEXP, SEXP Xp_offsetSEXP, SEXP Xiota_offsetSEXP, SEXP ytnaSEXP, SEXP ynamSEXP, SEXP lkSEXP, SEXP mixtureSEXP, SEXP firstSEXP, SEXP lastSEXP, SEXP MSEXP, SEXP JSEXP, SEXP TSEXP, SEXP deltaSEXP, SEXP dynamicsSEXP, SEXP fixSEXP, SEXP go_dimsSEXP, SEXP immigrationSEXP, SEXP ISEXP, SEXP I1SEXP, SEXP IbSEXP, SEXP IpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::imat >::type ym(ymSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xlam(XlamSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xgam(XgamSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xom(XomSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xp(XpSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type Xiota(XiotaSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_lam(beta_lamSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_gam(beta_gamSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_om(beta_omSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_p(beta_pSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type beta_iota(beta_iotaSEXP);
    Rcpp::traits::input_parameter< double >::type log_alpha(log_alphaSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xlam_offset(Xlam_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xgam_offset(Xgam_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xom_offset(Xom_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xp_offset(Xp_offsetSEXP);
    Rcpp::traits::input_parameter< arma::colvec >::type Xiota_offset(Xiota_offsetSEXP);
    Rcpp::traits::input_parameter< arma::imat >::type ytna(ytnaSEXP);
    Rcpp::traits::input_parameter< arma::imat >::type ynam(ynamSEXP);
    Rcpp::traits::input_parameter< int >::type lk(lkSEXP);
    Rcpp::traits::input_parameter< std::string >::type mixture(mixtureSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type first(firstSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type last(lastSEXP);
    Rcpp::traits::input_parameter< int >::type M(MSEXP);
    Rcpp::traits::input_parameter< int >::type J(JSEXP);
    Rcpp::traits::input_parameter< int >::type T(TSEXP);
    Rcpp::traits::input_parameter< arma::imat >::type delta(deltaSEXP);
    Rcpp::traits::input_parameter< std::string >::type dynamics(dynamicsSEXP);
    Rcpp::traits::input_parameter< std::string >::type fix(fixSEXP);
    Rcpp::traits::input_parameter< std::string >::type go_dims(go_dimsSEXP);
    Rcpp::traits::input_parameter< bool >::type immigration(immigrationSEXP);
    Rcpp::traits::input_parameter< arma::imat >::type I(ISEXP);
    Rcpp::traits::input_parameter< arma::imat >::type I1(I1SEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type Ib(IbSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type Ip(IpSEXP);
    rcpp_result_gen = Rcpp::wrap(nll_pcountOpen(ym, Xlam, Xgam, Xom, Xp, Xiota, beta_lam, beta_gam, beta_om, beta_p, beta_iota, log_alpha, Xlam_offset, Xgam_offset, Xom_offset, Xp_offset, Xiota_offset, ytna, ynam, lk, mixture, first, last, M, J, T, delta, dynamics, fix, go_dims, immigration, I, I1, Ib, Ip));
    return rcpp_result_gen;
END_RCPP
}

RcppExport SEXP getDetVecs(void *, void *, void *, void *, void *);
RcppExport SEXP getSingleDetVec(void *, void *, void *);

static const R_CallMethodDef CallEntries[] = {
    {"_unmarked_get_lik_trans", (DL_FUNC) &_unmarked_get_lik_trans, 2},
    {"_unmarked_get_mlogit", (DL_FUNC) &_unmarked_get_mlogit, 4},
    {"_unmarked_nll_distsamp", (DL_FUNC) &_unmarked_nll_distsamp, 10},
    {"_unmarked_nll_distsampOpen", (DL_FUNC) &_unmarked_nll_distsampOpen, 42},
    {"_unmarked_nll_gdistremoval", (DL_FUNC) &_unmarked_nll_gdistremoval, 20},
    {"_unmarked_nll_gdistsamp", (DL_FUNC) &_unmarked_nll_gdistsamp, 20},
    {"_unmarked_nll_gmultmix", (DL_FUNC) &_unmarked_nll_gmultmix, 17},
    {"_unmarked_nll_gpcount", (DL_FUNC) &_unmarked_nll_gpcount, 15},
    {"_unmarked_nll_multinomPois", (DL_FUNC) &_unmarked_nll_multinomPois, 10},
    {"_unmarked_nll_multmixOpen", (DL_FUNC) &_unmarked_nll_multmixOpen, 39},
    {"_unmarked_nll_nmixTTD", (DL_FUNC) &_unmarked_nll_nmixTTD, 13},
    {"_unmarked_nll_occu", (DL_FUNC) &_unmarked_nll_occu, 11},
    {"_unmarked_nll_occuCOP", (DL_FUNC) &_unmarked_nll_occuCOP, 7},
    {"_unmarked_nll_occuMS", (DL_FUNC) &_unmarked_nll_occuMS, 15},
    {"_unmarked_nll_occuMulti_loglik", (DL_FUNC) &_unmarked_nll_occuMulti_loglik, 14},
    {"_unmarked_nll_occuMulti", (DL_FUNC) &_unmarked_nll_occuMulti, 15},
    {"_unmarked_nll_occuPEN", (DL_FUNC) &_unmarked_nll_occuPEN, 11},
    {"_unmarked_nll_occuRN", (DL_FUNC) &_unmarked_nll_occuRN, 10},
    {"_unmarked_nll_occuTTD", (DL_FUNC) &_unmarked_nll_occuTTD, 17},
    {"_unmarked_nll_pcount", (DL_FUNC) &_unmarked_nll_pcount, 11},
    {"_unmarked_nll_pcountOpen", (DL_FUNC) &_unmarked_nll_pcountOpen, 35},
    {"getDetVecs",      (DL_FUNC) &getDetVecs,      5},
    {"getSingleDetVec", (DL_FUNC) &getSingleDetVec, 3},
    {NULL, NULL, 0}
};

RcppExport void R_init_unmarked(DllInfo *dll) {
    R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
    R_useDynamicSymbols(dll, FALSE);
}