Routing and analysis engine for GTFS (General Transit Feed Specification) data
1// Generated by using Rcpp::compileAttributes() -> do not edit by hand
2// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3
4#include <Rcpp.h>
5
6using namespace Rcpp;
7
8#ifdef RCPP_USE_GLOBAL_ROSTREAM
9Rcpp::Rostream<true>& Rcpp::Rcout = Rcpp::Rcpp_cout_get();
10Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get();
11#endif
12
13// rcpp_convert_time
14int rcpp_convert_time(const std::string& hms);
15RcppExport SEXP _gtfsrouter_rcpp_convert_time(SEXP hmsSEXP) {
16BEGIN_RCPP
17 Rcpp::RObject rcpp_result_gen;
18 Rcpp::RNGScope rcpp_rngScope_gen;
19 Rcpp::traits::input_parameter< const std::string& >::type hms(hmsSEXP);
20 rcpp_result_gen = Rcpp::wrap(rcpp_convert_time(hms));
21 return rcpp_result_gen;
22END_RCPP
23}
24// rcpp_time_to_seconds
25Rcpp::IntegerVector rcpp_time_to_seconds(std::vector <std::string> times);
26RcppExport SEXP _gtfsrouter_rcpp_time_to_seconds(SEXP timesSEXP) {
27BEGIN_RCPP
28 Rcpp::RObject rcpp_result_gen;
29 Rcpp::RNGScope rcpp_rngScope_gen;
30 Rcpp::traits::input_parameter< std::vector <std::string> >::type times(timesSEXP);
31 rcpp_result_gen = Rcpp::wrap(rcpp_time_to_seconds(times));
32 return rcpp_result_gen;
33END_RCPP
34}
35// rcpp_make_timetable
36Rcpp::DataFrame rcpp_make_timetable(Rcpp::DataFrame stop_times, std::vector <std::string> stop_ids, std::vector <std::string> trip_ids);
37RcppExport SEXP _gtfsrouter_rcpp_make_timetable(SEXP stop_timesSEXP, SEXP stop_idsSEXP, SEXP trip_idsSEXP) {
38BEGIN_RCPP
39 Rcpp::RObject rcpp_result_gen;
40 Rcpp::RNGScope rcpp_rngScope_gen;
41 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type stop_times(stop_timesSEXP);
42 Rcpp::traits::input_parameter< std::vector <std::string> >::type stop_ids(stop_idsSEXP);
43 Rcpp::traits::input_parameter< std::vector <std::string> >::type trip_ids(trip_idsSEXP);
44 rcpp_result_gen = Rcpp::wrap(rcpp_make_timetable(stop_times, stop_ids, trip_ids));
45 return rcpp_result_gen;
46END_RCPP
47}
48// rcpp_csa
49Rcpp::DataFrame rcpp_csa(Rcpp::DataFrame timetable, Rcpp::DataFrame transfers, const size_t nstations, const size_t ntrips, const std::vector <size_t> start_stations, const std::vector <size_t> end_stations, const int start_time, const int max_transfers);
50RcppExport SEXP _gtfsrouter_rcpp_csa(SEXP timetableSEXP, SEXP transfersSEXP, SEXP nstationsSEXP, SEXP ntripsSEXP, SEXP start_stationsSEXP, SEXP end_stationsSEXP, SEXP start_timeSEXP, SEXP max_transfersSEXP) {
51BEGIN_RCPP
52 Rcpp::RObject rcpp_result_gen;
53 Rcpp::RNGScope rcpp_rngScope_gen;
54 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type timetable(timetableSEXP);
55 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type transfers(transfersSEXP);
56 Rcpp::traits::input_parameter< const size_t >::type nstations(nstationsSEXP);
57 Rcpp::traits::input_parameter< const size_t >::type ntrips(ntripsSEXP);
58 Rcpp::traits::input_parameter< const std::vector <size_t> >::type start_stations(start_stationsSEXP);
59 Rcpp::traits::input_parameter< const std::vector <size_t> >::type end_stations(end_stationsSEXP);
60 Rcpp::traits::input_parameter< const int >::type start_time(start_timeSEXP);
61 Rcpp::traits::input_parameter< const int >::type max_transfers(max_transfersSEXP);
62 rcpp_result_gen = Rcpp::wrap(rcpp_csa(timetable, transfers, nstations, ntrips, start_stations, end_stations, start_time, max_transfers));
63 return rcpp_result_gen;
64END_RCPP
65}
66// rcpp_freq_to_stop_times
67Rcpp::DataFrame rcpp_freq_to_stop_times(Rcpp::DataFrame frequencies, Rcpp::DataFrame stop_times, const size_t nrows, const std::string sfx);
68RcppExport SEXP _gtfsrouter_rcpp_freq_to_stop_times(SEXP frequenciesSEXP, SEXP stop_timesSEXP, SEXP nrowsSEXP, SEXP sfxSEXP) {
69BEGIN_RCPP
70 Rcpp::RObject rcpp_result_gen;
71 Rcpp::RNGScope rcpp_rngScope_gen;
72 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type frequencies(frequenciesSEXP);
73 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type stop_times(stop_timesSEXP);
74 Rcpp::traits::input_parameter< const size_t >::type nrows(nrowsSEXP);
75 Rcpp::traits::input_parameter< const std::string >::type sfx(sfxSEXP);
76 rcpp_result_gen = Rcpp::wrap(rcpp_freq_to_stop_times(frequencies, stop_times, nrows, sfx));
77 return rcpp_result_gen;
78END_RCPP
79}
80// rcpp_transfer_nbs
81Rcpp::List rcpp_transfer_nbs(Rcpp::DataFrame stops, const double dlim);
82RcppExport SEXP _gtfsrouter_rcpp_transfer_nbs(SEXP stopsSEXP, SEXP dlimSEXP) {
83BEGIN_RCPP
84 Rcpp::RObject rcpp_result_gen;
85 Rcpp::RNGScope rcpp_rngScope_gen;
86 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type stops(stopsSEXP);
87 Rcpp::traits::input_parameter< const double >::type dlim(dlimSEXP);
88 rcpp_result_gen = Rcpp::wrap(rcpp_transfer_nbs(stops, dlim));
89 return rcpp_result_gen;
90END_RCPP
91}
92// rcpp_traveltimes
93Rcpp::IntegerMatrix rcpp_traveltimes(Rcpp::DataFrame timetable, Rcpp::DataFrame transfers, const size_t nstations, const std::vector <size_t> start_stations, const int start_time_min, const int start_time_max, const bool minimise_transfers, const int max_traveltime);
94RcppExport SEXP _gtfsrouter_rcpp_traveltimes(SEXP timetableSEXP, SEXP transfersSEXP, SEXP nstationsSEXP, SEXP start_stationsSEXP, SEXP start_time_minSEXP, SEXP start_time_maxSEXP, SEXP minimise_transfersSEXP, SEXP max_traveltimeSEXP) {
95BEGIN_RCPP
96 Rcpp::RObject rcpp_result_gen;
97 Rcpp::RNGScope rcpp_rngScope_gen;
98 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type timetable(timetableSEXP);
99 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type transfers(transfersSEXP);
100 Rcpp::traits::input_parameter< const size_t >::type nstations(nstationsSEXP);
101 Rcpp::traits::input_parameter< const std::vector <size_t> >::type start_stations(start_stationsSEXP);
102 Rcpp::traits::input_parameter< const int >::type start_time_min(start_time_minSEXP);
103 Rcpp::traits::input_parameter< const int >::type start_time_max(start_time_maxSEXP);
104 Rcpp::traits::input_parameter< const bool >::type minimise_transfers(minimise_transfersSEXP);
105 Rcpp::traits::input_parameter< const int >::type max_traveltime(max_traveltimeSEXP);
106 rcpp_result_gen = Rcpp::wrap(rcpp_traveltimes(timetable, transfers, nstations, start_stations, start_time_min, start_time_max, minimise_transfers, max_traveltime));
107 return rcpp_result_gen;
108END_RCPP
109}
110
111static const R_CallMethodDef CallEntries[] = {
112 {"_gtfsrouter_rcpp_convert_time", (DL_FUNC) &_gtfsrouter_rcpp_convert_time, 1},
113 {"_gtfsrouter_rcpp_time_to_seconds", (DL_FUNC) &_gtfsrouter_rcpp_time_to_seconds, 1},
114 {"_gtfsrouter_rcpp_make_timetable", (DL_FUNC) &_gtfsrouter_rcpp_make_timetable, 3},
115 {"_gtfsrouter_rcpp_csa", (DL_FUNC) &_gtfsrouter_rcpp_csa, 8},
116 {"_gtfsrouter_rcpp_freq_to_stop_times", (DL_FUNC) &_gtfsrouter_rcpp_freq_to_stop_times, 4},
117 {"_gtfsrouter_rcpp_transfer_nbs", (DL_FUNC) &_gtfsrouter_rcpp_transfer_nbs, 2},
118 {"_gtfsrouter_rcpp_traveltimes", (DL_FUNC) &_gtfsrouter_rcpp_traveltimes, 8},
119 {NULL, NULL, 0}
120};
121
122RcppExport void R_init_gtfsrouter(DllInfo *dll) {
123 R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
124 R_useDynamicSymbols(dll, FALSE);
125}