gps_pvt 0.8.0 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1862,57 +1862,57 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1862
1862
  #define SWIGTYPE_p_GPS_SolverOptionsT_double_t swig_types[12]
1863
1863
  #define SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t swig_types[13]
1864
1864
  #define SWIGTYPE_p_GPS_SolverT_double_t swig_types[14]
1865
- #define SWIGTYPE_p_GPS_Solver_GeneralOptionsT_double_t swig_types[15]
1866
- #define SWIGTYPE_p_GPS_SpaceNodeT_double_t swig_types[16]
1867
- #define SWIGTYPE_p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters swig_types[17]
1868
- #define SWIGTYPE_p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris swig_types[18]
1869
- #define SWIGTYPE_p_GPS_TimeT_double_t swig_types[19]
1870
- #define SWIGTYPE_p_GPS_TimeT_double_t__leap_second_event_t swig_types[20]
1871
- #define SWIGTYPE_p_GPS_TimeT_double_t__leap_year_prop_res_t swig_types[21]
1872
- #define SWIGTYPE_p_GPS_User_PVTT_double_t swig_types[22]
1873
- #define SWIGTYPE_p_MatrixT_ComplexT_double_t_Array2D_DenseT_ComplexT_double_t_t_MatrixViewBaseT_t_t swig_types[23]
1874
- #define SWIGTYPE_p_MatrixT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t swig_types[24]
1875
- #define SWIGTYPE_p_MatrixViewBaseT_t swig_types[25]
1876
- #define SWIGTYPE_p_MatrixViewFilterT_MatrixViewBaseT_t_t swig_types[26]
1877
- #define SWIGTYPE_p_Matrix_FrozenT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t swig_types[27]
1878
- #define SWIGTYPE_p_PushableData swig_types[28]
1879
- #define SWIGTYPE_p_RINEX_ClockT_double_t swig_types[29]
1880
- #define SWIGTYPE_p_RINEX_ObservationT_double_t swig_types[30]
1881
- #define SWIGTYPE_p_SBAS_EphemerisT_double_t swig_types[31]
1882
- #define SWIGTYPE_p_SBAS_SolverOptionsT_double_t swig_types[32]
1883
- #define SWIGTYPE_p_SBAS_SpaceNodeT_double_t swig_types[33]
1884
- #define SWIGTYPE_p_SBAS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris swig_types[34]
1885
- #define SWIGTYPE_p_SP3T_double_t swig_types[35]
1886
- #define SWIGTYPE_p_System_ENUT_double_WGS84_t swig_types[36]
1887
- #define SWIGTYPE_p_System_LLHT_double_WGS84_t swig_types[37]
1888
- #define SWIGTYPE_p_System_XYZT_double_WGS84_t swig_types[38]
1889
- #define SWIGTYPE_p_available_satellites_t swig_types[39]
1890
- #define SWIGTYPE_p_char swig_types[40]
1891
- #define SWIGTYPE_p_double swig_types[41]
1892
- #define SWIGTYPE_p_enu_t swig_types[42]
1893
- #define SWIGTYPE_p_eph_t swig_types[43]
1894
- #define SWIGTYPE_p_float_t swig_types[44]
1895
- #define SWIGTYPE_p_gps_space_node_t swig_types[45]
1896
- #define SWIGTYPE_p_gps_time_t swig_types[46]
1897
- #define SWIGTYPE_p_int swig_types[47]
1898
- #define SWIGTYPE_p_int_t swig_types[48]
1899
- #define SWIGTYPE_p_llh_t swig_types[49]
1900
- #define SWIGTYPE_p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__detection_t swig_types[50]
1901
- #define SWIGTYPE_p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__exclusion_t swig_types[51]
1902
- #define SWIGTYPE_p_p_double swig_types[52]
1903
- #define SWIGTYPE_p_range_correction_list_t swig_types[53]
1904
- #define SWIGTYPE_p_s16_t swig_types[54]
1905
- #define SWIGTYPE_p_s32_t swig_types[55]
1906
- #define SWIGTYPE_p_s8_t swig_types[56]
1907
- #define SWIGTYPE_p_satellites_t swig_types[57]
1908
- #define SWIGTYPE_p_self_t swig_types[58]
1909
- #define SWIGTYPE_p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t swig_types[59]
1910
- #define SWIGTYPE_p_super_t swig_types[60]
1911
- #define SWIGTYPE_p_swig__GC_VALUE swig_types[61]
1912
- #define SWIGTYPE_p_u16_t swig_types[62]
1913
- #define SWIGTYPE_p_u32_t swig_types[63]
1914
- #define SWIGTYPE_p_u8_t swig_types[64]
1915
- #define SWIGTYPE_p_uint_t swig_types[65]
1865
+ #define SWIGTYPE_p_GPS_SpaceNodeT_double_t swig_types[15]
1866
+ #define SWIGTYPE_p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters swig_types[16]
1867
+ #define SWIGTYPE_p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris swig_types[17]
1868
+ #define SWIGTYPE_p_GPS_TimeT_double_t swig_types[18]
1869
+ #define SWIGTYPE_p_GPS_TimeT_double_t__leap_second_event_t swig_types[19]
1870
+ #define SWIGTYPE_p_GPS_TimeT_double_t__leap_year_prop_res_t swig_types[20]
1871
+ #define SWIGTYPE_p_GPS_User_PVTT_double_t swig_types[21]
1872
+ #define SWIGTYPE_p_MatrixT_ComplexT_double_t_Array2D_DenseT_ComplexT_double_t_t_MatrixViewBaseT_t_t swig_types[22]
1873
+ #define SWIGTYPE_p_MatrixT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t swig_types[23]
1874
+ #define SWIGTYPE_p_MatrixViewBaseT_t swig_types[24]
1875
+ #define SWIGTYPE_p_MatrixViewFilterT_MatrixViewBaseT_t_t swig_types[25]
1876
+ #define SWIGTYPE_p_Matrix_FrozenT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t swig_types[26]
1877
+ #define SWIGTYPE_p_PushableData swig_types[27]
1878
+ #define SWIGTYPE_p_RINEX_ClockT_double_t swig_types[28]
1879
+ #define SWIGTYPE_p_RINEX_ObservationT_double_t swig_types[29]
1880
+ #define SWIGTYPE_p_SBAS_EphemerisT_double_t swig_types[30]
1881
+ #define SWIGTYPE_p_SBAS_SolverOptionsT_double_t swig_types[31]
1882
+ #define SWIGTYPE_p_SBAS_SpaceNodeT_double_t swig_types[32]
1883
+ #define SWIGTYPE_p_SBAS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris swig_types[33]
1884
+ #define SWIGTYPE_p_SP3T_double_t swig_types[34]
1885
+ #define SWIGTYPE_p_System_ENUT_double_WGS84_t swig_types[35]
1886
+ #define SWIGTYPE_p_System_LLHT_double_WGS84_t swig_types[36]
1887
+ #define SWIGTYPE_p_System_XYZT_double_WGS84_t swig_types[37]
1888
+ #define SWIGTYPE_p_available_satellites_t swig_types[38]
1889
+ #define SWIGTYPE_p_char swig_types[39]
1890
+ #define SWIGTYPE_p_double swig_types[40]
1891
+ #define SWIGTYPE_p_enu_t swig_types[41]
1892
+ #define SWIGTYPE_p_eph_t swig_types[42]
1893
+ #define SWIGTYPE_p_float_t swig_types[43]
1894
+ #define SWIGTYPE_p_gps_space_node_t swig_types[44]
1895
+ #define SWIGTYPE_p_gps_time_t swig_types[45]
1896
+ #define SWIGTYPE_p_int swig_types[46]
1897
+ #define SWIGTYPE_p_int_t swig_types[47]
1898
+ #define SWIGTYPE_p_llh_t swig_types[48]
1899
+ #define SWIGTYPE_p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__detection_t swig_types[49]
1900
+ #define SWIGTYPE_p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__exclusion_t swig_types[50]
1901
+ #define SWIGTYPE_p_p_double swig_types[51]
1902
+ #define SWIGTYPE_p_range_correction_list_t swig_types[52]
1903
+ #define SWIGTYPE_p_s16_t swig_types[53]
1904
+ #define SWIGTYPE_p_s32_t swig_types[54]
1905
+ #define SWIGTYPE_p_s8_t swig_types[55]
1906
+ #define SWIGTYPE_p_satellites_t swig_types[56]
1907
+ #define SWIGTYPE_p_self_t swig_types[57]
1908
+ #define SWIGTYPE_p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t swig_types[58]
1909
+ #define SWIGTYPE_p_super_t swig_types[59]
1910
+ #define SWIGTYPE_p_swig__GC_VALUE swig_types[60]
1911
+ #define SWIGTYPE_p_u16_t swig_types[61]
1912
+ #define SWIGTYPE_p_u32_t swig_types[62]
1913
+ #define SWIGTYPE_p_u8_t swig_types[63]
1914
+ #define SWIGTYPE_p_uint_t swig_types[64]
1915
+ #define SWIGTYPE_p_unsigned_int swig_types[65]
1916
1916
  #define SWIGTYPE_p_xyz_t swig_types[66]
1917
1917
  static swig_type_info *swig_types[68];
1918
1918
  static swig_module_info swig_module = {swig_types, 67, 0, 0, 0, 0};
@@ -1964,6 +1964,7 @@ static VALUE mGPS;
1964
1964
  #include "navigation/GPS_Solver_Base.h"
1965
1965
  #include "navigation/GPS_Solver.h"
1966
1966
  #include "navigation/GPS_Solver_RAIM.h"
1967
+ #include "navigation/GPS_Solver_MultiFrequency.h"
1967
1968
  #include "navigation/SBAS_Solver.h"
1968
1969
  #include "navigation/GLONASS_Solver.h"
1969
1970
 
@@ -2360,6 +2361,11 @@ struct GPS_Ephemeris : public GPS_SpaceNode<FloatT>::SatelliteProperties::Epheme
2360
2361
  || (this->iode != this->iode_subframe3)
2361
2362
  || ((this->iodc & 0xFF) != this->iode));
2362
2363
  }
2364
+ bool is_valid(const GPS_Time<FloatT> &t) const {
2365
+ return is_consistent() && GPS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris::is_valid(t);
2366
+ }
2367
+ GPS_Time<FloatT> t_clock() const {return GPS_Time<FloatT>(this->WN, this->t_oc);}
2368
+ GPS_Time<FloatT> t_ephemeris() const {return GPS_Time<FloatT>(this->WN, this->t_oe);}
2363
2369
  GPS_Ephemeris() : GPS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris() {
2364
2370
  invalidate();
2365
2371
  }
@@ -2381,6 +2387,10 @@ struct SBAS_Ephemeris : public SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephe
2381
2387
  SBAS_Ephemeris() : SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris() {}
2382
2388
  SBAS_Ephemeris(const typename SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris &eph)
2383
2389
  : SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris(eph) {}
2390
+ bool is_valid(const GPS_Time<FloatT> &t) const {
2391
+ return SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris::is_valid(t);
2392
+ }
2393
+ GPS_Time<FloatT> t_applicable() const {return GPS_Time<FloatT>(this->WN, this->t_0);}
2384
2394
  };
2385
2395
 
2386
2396
 
@@ -2397,6 +2407,9 @@ struct GLONASS_Ephemeris
2397
2407
  bool is_consistent() const {
2398
2408
  return has_string == 0x1F;
2399
2409
  }
2410
+ bool is_valid(const GPS_Time<FloatT> &t) const {
2411
+ return is_consistent() && eph_t::is_valid(t);
2412
+ }
2400
2413
  GLONASS_Ephemeris() : eph_t() {
2401
2414
  invalidate();
2402
2415
  }
@@ -2525,6 +2538,16 @@ struct GPS_Measurement {
2525
2538
  L1_SIGNAL_STRENGTH_dBHz,
2526
2539
  L1_LOCK_SEC,
2527
2540
  L1_FREQUENCY,
2541
+
2542
+
2543
+ L2CM_PSEUDORANGE, L2CL_PSEUDORANGE, L2CM_PSEUDORANGE_SIGMA, L2CL_PSEUDORANGE_SIGMA,
2544
+ L2CM_CARRIER_PHASE, L2CL_CARRIER_PHASE, L2CM_CARRIER_PHASE_SIGMA, L2CL_CARRIER_PHASE_SIGMA,
2545
+ L2CM_DOPPLER, L2CL_DOPPLER, L2CM_DOPPLER_SIGMA, L2CL_DOPPLER_SIGMA,
2546
+ L2CM_RANGE_RATE, L2CL_RANGE_RATE, L2CM_RANGE_RATE_SIGMA, L2CL_RANGE_RATE_SIGMA,
2547
+ L2CM_SIGNAL_STRENGTH_dBHz, L2CL_SIGNAL_STRENGTH_dBHz,
2548
+ L2CM_LOCK_SEC, L2CL_LOCK_SEC,
2549
+
2550
+
2528
2551
  ITEMS_PREDEFINED,
2529
2552
  };
2530
2553
  void add(const int &prn, const int &key, const FloatT &value){
@@ -2543,12 +2566,14 @@ struct GPS_SolverOptions_Common {
2543
2566
 
2544
2567
  template <class FloatT>
2545
2568
  struct GPS_SolverOptions
2546
- : public GPS_SinglePositioning<FloatT>::options_t,
2569
+ : public GPS_Solver_MultiFrequency<GPS_SinglePositioning<FloatT> >::options_t,
2547
2570
  GPS_SolverOptions_Common<FloatT> {
2548
- typedef typename GPS_SinglePositioning<FloatT>::options_t base_t;
2571
+ typedef typename GPS_Solver_MultiFrequency<GPS_SinglePositioning<FloatT> >::options_t base_t;
2549
2572
  void exclude(const int &prn){base_t::exclude_prn.set(prn);}
2550
2573
  void include(const int &prn){base_t::exclude_prn.reset(prn);}
2551
2574
  std::vector<int> excluded() const {return base_t::exclude_prn.excluded();}
2575
+ bool get_exclude_L2C() {return base_t::exclude_L2C;}
2576
+ bool set_exclude_L2C(const bool &b) {return base_t::exclude_L2C = b;}
2552
2577
  GPS_Solver_GeneralOptions<FloatT> *cast_general(){return this;}
2553
2578
  const GPS_Solver_GeneralOptions<FloatT> *cast_general() const {return this;}
2554
2579
  };
@@ -2600,6 +2625,43 @@ struct GPS_RangeCorrector
2600
2625
  };
2601
2626
 
2602
2627
 
2628
+ template <class BaseT, class HookT>
2629
+ struct HookableSolver : public BaseT {
2630
+ typedef BaseT base_t;
2631
+ HookT *hook;
2632
+ template <class ArgT>
2633
+ HookableSolver(const ArgT &);
2634
+ virtual typename base_t::relative_property_t relative_property(
2635
+ const typename base_t::prn_t &prn,
2636
+ const typename base_t::measurement_t::mapped_type &measurement,
2637
+ const typename base_t::float_t &receiver_error,
2638
+ const typename base_t::gps_time_t &time_arrival,
2639
+ const typename base_t::pos_t &usr_pos,
2640
+ const typename base_t::xyz_t &usr_vel) const {
2641
+ typename base_t::relative_property_t res(
2642
+ base_t::relative_property(
2643
+ prn, measurement, receiver_error, time_arrival,
2644
+ usr_pos, usr_vel));
2645
+ if(hook){
2646
+ res = hook->relative_property(
2647
+ prn, measurement, receiver_error, time_arrival,
2648
+ usr_pos, usr_vel,
2649
+ res);
2650
+ }
2651
+ return res;
2652
+ }
2653
+ virtual typename base_t::satellite_t select_satellite(
2654
+ const typename base_t::prn_t &prn,
2655
+ const typename base_t::gps_time_t &time) const {
2656
+ typename base_t::satellite_t res(base_t::select_satellite(prn, time));
2657
+ if(hook){
2658
+ res = hook->select_satellite(prn, time, res);
2659
+ }
2660
+ return res;
2661
+ }
2662
+ };
2663
+
2664
+
2603
2665
  template <class FloatT>
2604
2666
  struct GPS_Solver
2605
2667
  : public GPS_Solver_RAIM_LSR<FloatT,
@@ -2610,7 +2672,9 @@ struct GPS_Solver
2610
2672
  struct gps_t {
2611
2673
  GPS_SpaceNode<FloatT> space_node;
2612
2674
  GPS_SolverOptions<FloatT> options;
2613
- GPS_SinglePositioning<FloatT> solver;
2675
+ HookableSolver<
2676
+ GPS_Solver_MultiFrequency<GPS_SinglePositioning<FloatT> >,
2677
+ GPS_Solver<FloatT> > solver;
2614
2678
  struct ephemeris_proxy_t {
2615
2679
  struct item_t {
2616
2680
  const void *impl;
@@ -2632,18 +2696,20 @@ struct GPS_Solver
2632
2696
  solver.satellites.impl_select = forward;
2633
2697
  }
2634
2698
  } ephemeris_proxy;
2635
- gps_t() : space_node(), options(), solver(space_node), ephemeris_proxy(solver) {}
2699
+ gps_t() : space_node(), options(), solver(space_node), ephemeris_proxy(solver) {
2700
+ options.exclude_L2C = true;
2701
+ }
2636
2702
  } gps;
2637
2703
  struct sbas_t {
2638
2704
  SBAS_SpaceNode<FloatT> space_node;
2639
2705
  SBAS_SolverOptions<FloatT> options;
2640
- SBAS_SinglePositioning<FloatT> solver;
2706
+ HookableSolver<SBAS_SinglePositioning<FloatT>, GPS_Solver<FloatT> > solver;
2641
2707
  sbas_t() : space_node(), options(), solver(space_node) {}
2642
2708
  } sbas;
2643
2709
  struct glonass_t {
2644
2710
  GLONASS_SpaceNode<FloatT> space_node;
2645
2711
  GLONASS_SolverOptions<FloatT> options;
2646
- GLONASS_SinglePositioning<FloatT> solver;
2712
+ HookableSolver<GLONASS_SinglePositioning<FloatT>, GPS_Solver<FloatT> > solver;
2647
2713
  glonass_t() : space_node(), options(), solver(space_node) {}
2648
2714
  } glonass;
2649
2715
  VALUE hooks;
@@ -2679,6 +2745,9 @@ struct GPS_Solver
2679
2745
  = sbas.solver.tropospheric_correction
2680
2746
  = glonass.solver.tropospheric_correction
2681
2747
  = tropospheric;
2748
+ gps.solver.hook = this;
2749
+ sbas.solver.hook = this;
2750
+ glonass.solver.hook = this;
2682
2751
  }
2683
2752
  GPS_SpaceNode<FloatT> &gps_space_node() {return gps.space_node;}
2684
2753
  GPS_SolverOptions<FloatT> &gps_options() {return gps.options;}
@@ -2686,28 +2755,44 @@ struct GPS_Solver
2686
2755
  SBAS_SolverOptions<FloatT> &sbas_options() {return sbas.options;}
2687
2756
  GLONASS_SpaceNode<FloatT> &glonass_space_node() {return glonass.space_node;}
2688
2757
  GLONASS_SolverOptions<FloatT> &glonass_options() {return glonass.options;}
2689
- const base_t &select_solver(
2758
+ const base_t &select(
2690
2759
  const typename base_t::prn_t &prn) const {
2691
2760
  if(prn > 0 && prn <= 32){return gps.solver;}
2692
2761
  if(prn >= 120 && prn <= 158){return sbas.solver;}
2693
2762
  if(prn > 192 && prn <= 202){return gps.solver;}
2694
2763
  if(prn > 0x100 && prn <= (0x100 + 24)){return glonass.solver;}
2695
- // call order: base_t::solve => this returned by select()
2696
- // => relative_property() => select_solver()
2697
- // For not supported satellite, call loop prevention is required.
2698
- static const base_t dummy;
2699
- return dummy;
2764
+ return *this;
2700
2765
  }
2766
+ // proxy of virtual functions
2767
+ typename base_t::relative_property_t relative_property(
2768
+ const typename base_t::prn_t &prn,
2769
+ const typename base_t::measurement_t::mapped_type &measurement,
2770
+ const typename base_t::float_t &receiver_error,
2771
+ const typename base_t::gps_time_t &time_arrival,
2772
+ const typename base_t::pos_t &usr_pos,
2773
+ const typename base_t::xyz_t &usr_vel,
2774
+ const typename base_t::relative_property_t &orig) const;
2701
2775
  virtual typename base_t::relative_property_t relative_property(
2702
2776
  const typename base_t::prn_t &prn,
2703
2777
  const typename base_t::measurement_t::mapped_type &measurement,
2704
2778
  const typename base_t::float_t &receiver_error,
2705
2779
  const typename base_t::gps_time_t &time_arrival,
2706
2780
  const typename base_t::pos_t &usr_pos,
2707
- const typename base_t::xyz_t &usr_vel) const;
2781
+ const typename base_t::xyz_t &usr_vel) const {
2782
+ return relative_property(
2783
+ prn, measurement, receiver_error, time_arrival, usr_pos, usr_vel,
2784
+ super_t::relative_property(
2785
+ prn, measurement, receiver_error, time_arrival, usr_pos, usr_vel));
2786
+ }
2787
+ typename base_t::satellite_t select_satellite(
2788
+ const typename base_t::prn_t &prn,
2789
+ const typename base_t::gps_time_t &time,
2790
+ const typename base_t::satellite_t &orig) const;
2708
2791
  virtual typename base_t::satellite_t select_satellite(
2709
2792
  const typename base_t::prn_t &prn,
2710
- const typename base_t::gps_time_t &time) const;
2793
+ const typename base_t::gps_time_t &time) const {
2794
+ return select_satellite(prn, time, super_t::select_satellite(prn, time));
2795
+ }
2711
2796
  virtual bool update_position_solution(
2712
2797
  const typename base_t::geometric_matrices_t &geomat,
2713
2798
  typename base_t::user_pvt_t &res) const;
@@ -3565,6 +3650,13 @@ SWIGINTERN GPS_Ionospheric_UTC_Parameters< double > GPS_Ionospheric_UTC_Paramete
3565
3650
  (typename GPS_SpaceNode<double>::Ionospheric_UTC_Parameters &)res = raw;
3566
3651
  return res;
3567
3652
  }
3653
+ SWIGINTERN void GPS_Ionospheric_UTC_Parameters_Sl_double_Sg__dump(GPS_Ionospheric_UTC_Parameters< double > *self,unsigned int buf_brdc[10],GPS_Time< double > const &t){
3654
+ typedef typename GPS_SpaceNode<double>
3655
+ ::BroadcastedMessage<unsigned int, 30> dump_t;
3656
+ dump_t::how_set(buf_brdc, t);
3657
+ GPS_SpaceNode<double>::Ionospheric_UTC_Parameters::raw_t raw;
3658
+ (raw = *self).dump<2, 0>(buf_brdc);
3659
+ }
3568
3660
  SWIGINTERN unsigned int GPS_Ephemeris_Sl_double_Sg__set_svid(GPS_Ephemeris< double > *self,unsigned int const &v){
3569
3661
  return self->svid = v;
3570
3662
  }
@@ -3577,10 +3669,10 @@ SWIGINTERN unsigned int GPS_Ephemeris_Sl_double_Sg__set_WN(GPS_Ephemeris< double
3577
3669
  SWIGINTERN unsigned int const &GPS_Ephemeris_Sl_double_Sg__get_WN(GPS_Ephemeris< double > const *self){
3578
3670
  return self->WN;
3579
3671
  }
3580
- SWIGINTERN int GPS_Ephemeris_Sl_double_Sg__set_URA(GPS_Ephemeris< double > *self,int const &v){
3672
+ SWIGINTERN double GPS_Ephemeris_Sl_double_Sg__set_URA(GPS_Ephemeris< double > *self,double const &v){
3581
3673
  return self->URA = v;
3582
3674
  }
3583
- SWIGINTERN int const &GPS_Ephemeris_Sl_double_Sg__get_URA(GPS_Ephemeris< double > const *self){
3675
+ SWIGINTERN double const &GPS_Ephemeris_Sl_double_Sg__get_URA(GPS_Ephemeris< double > const *self){
3584
3676
  return self->URA;
3585
3677
  }
3586
3678
  SWIGINTERN unsigned int GPS_Ephemeris_Sl_double_Sg__set_SV_health(GPS_Ephemeris< double > *self,unsigned int const &v){
@@ -3783,6 +3875,62 @@ SWIGINTERN void GPS_Ephemeris_Sl_double_Sg__parse(GPS_Ephemeris< double > *self,
3783
3875
  break;
3784
3876
  }
3785
3877
  }
3878
+ SWIGINTERN void GPS_Ephemeris_Sl_double_Sg__dump(GPS_Ephemeris< double > *self,unsigned int buf_sf1[10],unsigned int buf_sf2[10],unsigned int buf_sf3[10],GPS_Time< double > const &t){
3879
+ typedef typename GPS_SpaceNode<double>
3880
+ ::BroadcastedMessage<unsigned int, 30> dump_t;
3881
+ GPS_SpaceNode<double>::SatelliteProperties::Ephemeris::raw_t raw;
3882
+ raw = *self;
3883
+ unsigned int *buf[10] = {buf_sf1, buf_sf2, buf_sf3};
3884
+ for(int i(0); i < 3; ++i){
3885
+ dump_t::how_set(buf[i], t);
3886
+ raw.dump<2, 0>(buf[i], i + 1);
3887
+ }
3888
+ }
3889
+ SWIGINTERN int GPS_Ephemeris_Sl_double_Sg__parse_almanac(GPS_Ephemeris< double > *self,unsigned int const buf[10]){
3890
+ typedef GPS_SpaceNode<double>::BroadcastedMessage<unsigned int, 30> parse_t;
3891
+ switch(parse_t::subframe_id(buf)){
3892
+ case 4:
3893
+ case 5:
3894
+ break;
3895
+ default: return -1;
3896
+ }
3897
+ typedef GPS_SpaceNode<double>::SatelliteProperties::Almanac almanac_t;
3898
+ almanac_t::raw_t raw;
3899
+ switch(parse_t::data_id(buf)){
3900
+ case 1: // GPS
3901
+ raw.update<2, 0>(buf);
3902
+ if((raw.svid < 1) || (raw.svid > 32)){return -1;}
3903
+ break;
3904
+ case 3: // QZSS
3905
+ reinterpret_cast<QZSS_SpaceNode<double>::SatelliteProperties::Almanac::raw_t &>(raw)
3906
+ .update<2, 0>(buf);
3907
+ if((raw.svid < 193) || (raw.svid > 202)){return -1;}
3908
+ break;
3909
+ default:
3910
+ return -1;
3911
+ }
3912
+ almanac_t almanac;
3913
+ *self = (GPS_SpaceNode<double>::SatelliteProperties::Ephemeris)(almanac = raw);
3914
+ return self->svid;
3915
+ }
3916
+ SWIGINTERN void GPS_Ephemeris_Sl_double_Sg__dump_almanac__SWIG_0(GPS_Ephemeris< double > *self,unsigned int buf_brdc[10],GPS_Time< double > const &t,unsigned int const &qzss_subframe=0){
3917
+ typedef typename GPS_SpaceNode<double>
3918
+ ::BroadcastedMessage<unsigned int, 30> dump_t;
3919
+ dump_t::how_set(buf_brdc, t);
3920
+ typedef GPS_SpaceNode<double>::SatelliteProperties::Almanac almanac_t;
3921
+ almanac_t almanac;
3922
+ almanac_t::raw_t raw;
3923
+ raw = (almanac = *self);
3924
+ switch(qzss_subframe){
3925
+ case 4:
3926
+ case 5:
3927
+ reinterpret_cast<QZSS_SpaceNode<double>::SatelliteProperties::Almanac::raw_t &>(raw)
3928
+ .dump<2, 0>(buf_brdc, qzss_subframe);
3929
+ break;
3930
+ default:
3931
+ raw.dump<2, 0>(buf_brdc);
3932
+ }
3933
+ }
3786
3934
  SWIGINTERN GPS_Ephemeris< double >::constellation_res_t GPS_Ephemeris_Sl_double_Sg__constellation__SWIG_0(GPS_Ephemeris< double > const *self,GPS_Time< double > const &t_tx,double const &dt_transit=0){
3787
3935
  typename GPS_SpaceNode<double>::SatelliteProperties::constellation_t pv(
3788
3936
  self->constellation(t_tx, dt_transit, true));
@@ -3926,6 +4074,20 @@ SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_residual_mas
3926
4074
  return self->cast_general()->residual_mask;
3927
4075
  }
3928
4076
 
4077
+ template <> template <>
4078
+ HookableSolver<
4079
+ GPS_Solver_MultiFrequency<GPS_SinglePositioning<double> >,
4080
+ GPS_Solver<double> >
4081
+ ::HookableSolver<GPS_SpaceNode<double> >(const GPS_SpaceNode<double> &sn)
4082
+ : GPS_Solver_MultiFrequency<GPS_SinglePositioning<double> >(sn), hook(NULL) {}
4083
+ template <> template <>
4084
+ HookableSolver<SBAS_SinglePositioning<double>, GPS_Solver<double> >
4085
+ ::HookableSolver<SBAS_SpaceNode<double> >(const SBAS_SpaceNode<double> &sn)
4086
+ : SBAS_SinglePositioning<double>(sn), hook(NULL) {}
4087
+ template <> template <>
4088
+ HookableSolver<GLONASS_SinglePositioning<double>, GPS_Solver<double> >
4089
+ ::HookableSolver<GLONASS_SpaceNode<double> >(const GLONASS_SpaceNode<double> &sn)
4090
+ : GLONASS_SinglePositioning<double>(sn), hook(NULL) {}
3929
4091
  template <>
3930
4092
  GPS_Solver<double>::base_t::relative_property_t
3931
4093
  GPS_Solver<double>::relative_property(
@@ -3934,14 +4096,12 @@ SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_residual_mas
3934
4096
  const GPS_Solver<double>::base_t::float_t &receiver_error,
3935
4097
  const GPS_Solver<double>::base_t::gps_time_t &time_arrival,
3936
4098
  const GPS_Solver<double>::base_t::pos_t &usr_pos,
3937
- const GPS_Solver<double>::base_t::xyz_t &usr_vel) const {
4099
+ const GPS_Solver<double>::base_t::xyz_t &usr_vel,
4100
+ const GPS_Solver<double>::base_t::relative_property_t &res_orig) const {
3938
4101
  union {
3939
4102
  base_t::relative_property_t prop;
3940
4103
  double values[7];
3941
- } res = {
3942
- select_solver(prn).relative_property(
3943
- prn, measurement, receiver_error, time_arrival,
3944
- usr_pos, usr_vel)};
4104
+ } res = {res_orig};
3945
4105
 
3946
4106
  do{
3947
4107
  static const VALUE key(ID2SYM(rb_intern("relative_property")));
@@ -4021,9 +4181,9 @@ SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_residual_mas
4021
4181
  template <>
4022
4182
  GPS_Solver<double>::base_t::satellite_t GPS_Solver<double>::select_satellite(
4023
4183
  const GPS_Solver<double>::base_t::prn_t &prn,
4024
- const GPS_Solver<double>::base_t::gps_time_t &time) const {
4025
- GPS_Solver<double>::base_t::satellite_t res(
4026
- select_solver(prn).select_satellite(prn, time));
4184
+ const GPS_Solver<double>::base_t::gps_time_t &time,
4185
+ const GPS_Solver<double>::base_t::satellite_t &res_orig) const {
4186
+ GPS_Solver<double>::base_t::satellite_t res(res_orig);
4027
4187
 
4028
4188
  if(!res.is_available()){
4029
4189
  static const VALUE key(ID2SYM(rb_intern("relative_property")));
@@ -4280,6 +4440,12 @@ SWIGINTERN double SBAS_Ephemeris_Sl_double_Sg__set_a_Gf1(SBAS_Ephemeris< double
4280
4440
  SWIGINTERN double const &SBAS_Ephemeris_Sl_double_Sg__get_a_Gf1(SBAS_Ephemeris< double > const *self){
4281
4441
  return self->a_Gf1;
4282
4442
  }
4443
+ SWIGINTERN void SBAS_Ephemeris_Sl_double_Sg__dump__SWIG_0(SBAS_Ephemeris< double > *self,unsigned int buf_brdc[8],unsigned int const &preamble_idx=0){
4444
+ SBAS_SpaceNode<double>::DataBlock::preamble_set2(buf_brdc, preamble_idx);
4445
+ SBAS_SpaceNode<double>::SatelliteProperties::Ephemeris::raw_t raw;
4446
+ (raw = *self).dump(buf_brdc);
4447
+ SBAS_SpaceNode<double>::DataBlock::parity_set(buf_brdc);
4448
+ }
4283
4449
  SWIGINTERN GPS_Ephemeris< double >::constellation_res_t SBAS_Ephemeris_Sl_double_Sg__constellation__SWIG_0(SBAS_Ephemeris< double > const *self,GPS_Time< double > const &t_tx,double const &dt_transit=0,bool const &with_velocity=true){
4284
4450
  typename SBAS_SpaceNode<double>::SatelliteProperties::constellation_t pv(
4285
4451
  self->constellation(t_tx, dt_transit, with_velocity));
@@ -4543,6 +4709,15 @@ SWIGINTERN bool GLONASS_Ephemeris_Sl_double_Sg__parse__SWIG_0(GLONASS_Ephemeris<
4543
4709
  self->has_string = has_string;
4544
4710
  return updated;
4545
4711
  }
4712
+ SWIGINTERN void GLONASS_Ephemeris_Sl_double_Sg__dump(GLONASS_Ephemeris< double > *self,unsigned int buf_str1[3],unsigned int buf_str2[3],unsigned int buf_str3[3],unsigned int buf_str4[3],unsigned int buf_str5[3],GPS_Time< double > const &t){
4713
+ typename GLONASS_Ephemeris<double>::eph_t::raw_t raw;
4714
+ raw = *self;
4715
+ unsigned int *buf[4] = {buf_str1, buf_str2, buf_str3, buf_str4};
4716
+ for(int i(0); i < 4; ++i){
4717
+ raw.GLONASS_Ephemeris<double>::Ephemeris::raw_t::dump<0, 0>(buf[i], i + 1);
4718
+ }
4719
+ raw.GLONASS_Ephemeris<double>::TimeProperties::raw_t::dump<0, 0>(buf_str5);
4720
+ }
4546
4721
  SWIGINTERN GPS_Ephemeris< double >::constellation_res_t GLONASS_Ephemeris_Sl_double_Sg__constellation__SWIG_0(GLONASS_Ephemeris< double > const *self,GPS_Time< double > const &t_tx,double const &dt_transit=0){
4547
4722
  typename GPS_SpaceNode<double>::SatelliteProperties::constellation_t pv(
4548
4723
  self->constellation(t_tx, dt_transit));
@@ -10872,6 +11047,67 @@ fail:
10872
11047
  }
10873
11048
 
10874
11049
 
11050
+ /*
11051
+ Document-method: GPS_PVT::GPS::Ionospheric_UTC_Parameters.dump
11052
+
11053
+ call-seq:
11054
+ dump(Time t)
11055
+
11056
+ An instance method.
11057
+
11058
+ */
11059
+ SWIGINTERN VALUE
11060
+ _wrap_Ionospheric_UTC_Parameters_dump(int argc, VALUE *argv, VALUE self) {
11061
+ GPS_Ionospheric_UTC_Parameters< double > *arg1 = (GPS_Ionospheric_UTC_Parameters< double > *) 0 ;
11062
+ unsigned int *arg2 ;
11063
+ GPS_Time< double > *arg3 = 0 ;
11064
+ void *argp1 = 0 ;
11065
+ int res1 = 0 ;
11066
+ unsigned int temp2[10] = {
11067
+ 0
11068
+ } ;
11069
+ void *argp3 ;
11070
+ int res3 = 0 ;
11071
+ VALUE vresult = Qnil;
11072
+
11073
+ arg2 = temp2;
11074
+ if ((argc < 1) || (argc > 1)) {
11075
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
11076
+ }
11077
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_Ionospheric_UTC_ParametersT_double_t, 0 | 0 );
11078
+ if (!SWIG_IsOK(res1)) {
11079
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ionospheric_UTC_Parameters< double > *","dump", 1, self ));
11080
+ }
11081
+ arg1 = reinterpret_cast< GPS_Ionospheric_UTC_Parameters< double > * >(argp1);
11082
+ res3 = SWIG_ConvertPtr(argv[0], &argp3, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
11083
+ if (!SWIG_IsOK(res3)) {
11084
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump", 3, argv[0] ));
11085
+ }
11086
+ if (!argp3) {
11087
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump", 3, argv[0]));
11088
+ }
11089
+ arg3 = reinterpret_cast< GPS_Time< double > * >(argp3);
11090
+ {
11091
+ try {
11092
+ GPS_Ionospheric_UTC_Parameters_Sl_double_Sg__dump(arg1,arg2,(GPS_Time< double > const &)*arg3);
11093
+ } catch (const native_exception &e) {
11094
+ e.regenerate();
11095
+ SWIG_fail;
11096
+ } catch (const std::exception& e) {
11097
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11098
+ }
11099
+ }
11100
+ {
11101
+ for(int i(0); i < 10; ++i){
11102
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
11103
+ }
11104
+ }
11105
+ return vresult;
11106
+ fail:
11107
+ return Qnil;
11108
+ }
11109
+
11110
+
10875
11111
  SWIGINTERN VALUE
10876
11112
  #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
10877
11113
  _wrap_Ionospheric_UTC_Parameters_allocate(VALUE self)
@@ -11087,6 +11323,143 @@ fail:
11087
11323
  }
11088
11324
 
11089
11325
 
11326
+ /*
11327
+ Document-method: GPS_PVT::GPS::Ephemeris.valid?
11328
+
11329
+ call-seq:
11330
+ valid?(Time t) -> bool
11331
+
11332
+ An instance method.
11333
+
11334
+ */
11335
+ SWIGINTERN VALUE
11336
+ _wrap_Ephemeris_validq___(int argc, VALUE *argv, VALUE self) {
11337
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11338
+ GPS_Time< double > *arg2 = 0 ;
11339
+ void *argp1 = 0 ;
11340
+ int res1 = 0 ;
11341
+ void *argp2 ;
11342
+ int res2 = 0 ;
11343
+ bool result;
11344
+ VALUE vresult = Qnil;
11345
+
11346
+ if ((argc < 1) || (argc > 1)) {
11347
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
11348
+ }
11349
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
11350
+ if (!SWIG_IsOK(res1)) {
11351
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > const *","is_valid", 1, self ));
11352
+ }
11353
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11354
+ res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
11355
+ if (!SWIG_IsOK(res2)) {
11356
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_Time< double > const &","is_valid", 2, argv[0] ));
11357
+ }
11358
+ if (!argp2) {
11359
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","is_valid", 2, argv[0]));
11360
+ }
11361
+ arg2 = reinterpret_cast< GPS_Time< double > * >(argp2);
11362
+ {
11363
+ try {
11364
+ result = (bool)((GPS_Ephemeris< double > const *)arg1)->is_valid((GPS_Time< double > const &)*arg2);
11365
+ } catch (const native_exception &e) {
11366
+ e.regenerate();
11367
+ SWIG_fail;
11368
+ } catch (const std::exception& e) {
11369
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11370
+ }
11371
+ }
11372
+ vresult = SWIG_From_bool(static_cast< bool >(result));
11373
+ return vresult;
11374
+ fail:
11375
+ return Qnil;
11376
+ }
11377
+
11378
+
11379
+ /*
11380
+ Document-method: GPS_PVT::GPS::Ephemeris.t_clock
11381
+
11382
+ call-seq:
11383
+ t_clock -> Time
11384
+
11385
+ An instance method.
11386
+
11387
+ */
11388
+ SWIGINTERN VALUE
11389
+ _wrap_Ephemeris_t_clock(int argc, VALUE *argv, VALUE self) {
11390
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11391
+ void *argp1 = 0 ;
11392
+ int res1 = 0 ;
11393
+ GPS_Time< double > result;
11394
+ VALUE vresult = Qnil;
11395
+
11396
+ if ((argc < 0) || (argc > 0)) {
11397
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
11398
+ }
11399
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
11400
+ if (!SWIG_IsOK(res1)) {
11401
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > const *","t_clock", 1, self ));
11402
+ }
11403
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11404
+ {
11405
+ try {
11406
+ result = ((GPS_Ephemeris< double > const *)arg1)->t_clock();
11407
+ } catch (const native_exception &e) {
11408
+ e.regenerate();
11409
+ SWIG_fail;
11410
+ } catch (const std::exception& e) {
11411
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11412
+ }
11413
+ }
11414
+ vresult = SWIG_NewPointerObj((new GPS_Time< double >(static_cast< const GPS_Time< double >& >(result))), SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_OWN | 0 );
11415
+ return vresult;
11416
+ fail:
11417
+ return Qnil;
11418
+ }
11419
+
11420
+
11421
+ /*
11422
+ Document-method: GPS_PVT::GPS::Ephemeris.t_ephemeris
11423
+
11424
+ call-seq:
11425
+ t_ephemeris -> Time
11426
+
11427
+ An instance method.
11428
+
11429
+ */
11430
+ SWIGINTERN VALUE
11431
+ _wrap_Ephemeris_t_ephemeris(int argc, VALUE *argv, VALUE self) {
11432
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11433
+ void *argp1 = 0 ;
11434
+ int res1 = 0 ;
11435
+ GPS_Time< double > result;
11436
+ VALUE vresult = Qnil;
11437
+
11438
+ if ((argc < 0) || (argc > 0)) {
11439
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
11440
+ }
11441
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
11442
+ if (!SWIG_IsOK(res1)) {
11443
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > const *","t_ephemeris", 1, self ));
11444
+ }
11445
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11446
+ {
11447
+ try {
11448
+ result = ((GPS_Ephemeris< double > const *)arg1)->t_ephemeris();
11449
+ } catch (const native_exception &e) {
11450
+ e.regenerate();
11451
+ SWIG_fail;
11452
+ } catch (const std::exception& e) {
11453
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11454
+ }
11455
+ }
11456
+ vresult = SWIG_NewPointerObj((new GPS_Time< double >(static_cast< const GPS_Time< double >& >(result))), SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_OWN | 0 );
11457
+ return vresult;
11458
+ fail:
11459
+ return Qnil;
11460
+ }
11461
+
11462
+
11090
11463
  /*
11091
11464
  Document-method: GPS_PVT::GPS::Ephemeris.new
11092
11465
 
@@ -11395,7 +11768,7 @@ fail:
11395
11768
  Document-method: GPS_PVT::GPS::Ephemeris.URA=
11396
11769
 
11397
11770
  call-seq:
11398
- URA=(int const & v) -> int
11771
+ URA=(double const & v) -> double
11399
11772
 
11400
11773
  An instance method.
11401
11774
 
@@ -11403,13 +11776,13 @@ An instance method.
11403
11776
  SWIGINTERN VALUE
11404
11777
  _wrap_Ephemeris_URAe___(int argc, VALUE *argv, VALUE self) {
11405
11778
  GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11406
- int *arg2 = 0 ;
11779
+ double *arg2 = 0 ;
11407
11780
  void *argp1 = 0 ;
11408
11781
  int res1 = 0 ;
11409
- int temp2 ;
11410
- int val2 ;
11782
+ double temp2 ;
11783
+ double val2 ;
11411
11784
  int ecode2 = 0 ;
11412
- int result;
11785
+ double result;
11413
11786
  VALUE vresult = Qnil;
11414
11787
 
11415
11788
  if ((argc < 1) || (argc > 1)) {
@@ -11420,15 +11793,15 @@ _wrap_Ephemeris_URAe___(int argc, VALUE *argv, VALUE self) {
11420
11793
  SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","set_URA", 1, self ));
11421
11794
  }
11422
11795
  arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11423
- ecode2 = SWIG_AsVal_int(argv[0], &val2);
11796
+ ecode2 = SWIG_AsVal_double(argv[0], &val2);
11424
11797
  if (!SWIG_IsOK(ecode2)) {
11425
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","set_URA", 2, argv[0] ));
11798
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","set_URA", 2, argv[0] ));
11426
11799
  }
11427
- temp2 = static_cast< int >(val2);
11800
+ temp2 = static_cast< double >(val2);
11428
11801
  arg2 = &temp2;
11429
11802
  {
11430
11803
  try {
11431
- result = (int)GPS_Ephemeris_Sl_double_Sg__set_URA(arg1,(int const &)*arg2);
11804
+ result = (double)GPS_Ephemeris_Sl_double_Sg__set_URA(arg1,(double const &)*arg2);
11432
11805
  } catch (const native_exception &e) {
11433
11806
  e.regenerate();
11434
11807
  SWIG_fail;
@@ -11436,7 +11809,7 @@ _wrap_Ephemeris_URAe___(int argc, VALUE *argv, VALUE self) {
11436
11809
  SWIG_exception_fail(SWIG_RuntimeError, e.what());
11437
11810
  }
11438
11811
  }
11439
- vresult = SWIG_From_int(static_cast< int >(result));
11812
+ vresult = SWIG_From_double(static_cast< double >(result));
11440
11813
  return vresult;
11441
11814
  fail:
11442
11815
  return Qnil;
@@ -11447,7 +11820,7 @@ fail:
11447
11820
  Document-method: GPS_PVT::GPS::Ephemeris.URA
11448
11821
 
11449
11822
  call-seq:
11450
- URA -> int const &
11823
+ URA -> double const &
11451
11824
 
11452
11825
  An instance method.
11453
11826
 
@@ -11457,7 +11830,7 @@ _wrap_Ephemeris_URA(int argc, VALUE *argv, VALUE self) {
11457
11830
  GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11458
11831
  void *argp1 = 0 ;
11459
11832
  int res1 = 0 ;
11460
- int *result = 0 ;
11833
+ double *result = 0 ;
11461
11834
  VALUE vresult = Qnil;
11462
11835
 
11463
11836
  if ((argc < 0) || (argc > 0)) {
@@ -11470,7 +11843,7 @@ _wrap_Ephemeris_URA(int argc, VALUE *argv, VALUE self) {
11470
11843
  arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11471
11844
  {
11472
11845
  try {
11473
- result = (int *) &GPS_Ephemeris_Sl_double_Sg__get_URA((GPS_Ephemeris< double > const *)arg1);
11846
+ result = (double *) &GPS_Ephemeris_Sl_double_Sg__get_URA((GPS_Ephemeris< double > const *)arg1);
11474
11847
  } catch (const native_exception &e) {
11475
11848
  e.regenerate();
11476
11849
  SWIG_fail;
@@ -11478,7 +11851,7 @@ _wrap_Ephemeris_URA(int argc, VALUE *argv, VALUE self) {
11478
11851
  SWIG_exception_fail(SWIG_RuntimeError, e.what());
11479
11852
  }
11480
11853
  }
11481
- vresult = SWIG_From_int(static_cast< int >(*result));
11854
+ vresult = SWIG_From_double(static_cast< double >(*result));
11482
11855
  return vresult;
11483
11856
  fail:
11484
11857
  return Qnil;
@@ -13910,29 +14283,345 @@ fail:
13910
14283
 
13911
14284
 
13912
14285
  /*
13913
- Document-method: GPS_PVT::GPS::Ephemeris.constellation
14286
+ Document-method: GPS_PVT::GPS::Ephemeris.dump
13914
14287
 
13915
14288
  call-seq:
13916
- constellation(Time t_tx, double const & dt_transit=0) -> GPS_Ephemeris< double >::constellation_res_t
13917
- constellation(Time t_tx) -> GPS_Ephemeris< double >::constellation_res_t
14289
+ dump(Time t)
13918
14290
 
13919
14291
  An instance method.
13920
14292
 
13921
14293
  */
13922
14294
  SWIGINTERN VALUE
13923
- _wrap_Ephemeris_constellation__SWIG_0(int argc, VALUE *argv, VALUE self) {
14295
+ _wrap_Ephemeris_dump(int argc, VALUE *argv, VALUE self) {
13924
14296
  GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
13925
- GPS_Time< double > *arg2 = 0 ;
13926
- double *arg3 = 0 ;
14297
+ unsigned int *arg2 ;
14298
+ unsigned int *arg3 ;
14299
+ unsigned int *arg4 ;
14300
+ GPS_Time< double > *arg5 = 0 ;
13927
14301
  void *argp1 = 0 ;
13928
14302
  int res1 = 0 ;
13929
- void *argp2 ;
13930
- int res2 = 0 ;
13931
- double temp3 ;
13932
- double val3 ;
13933
- int ecode3 = 0 ;
13934
- GPS_Ephemeris< double >::constellation_res_t result;
13935
- VALUE vresult = Qnil;
14303
+ unsigned int temp2[10] = {
14304
+ 0
14305
+ } ;
14306
+ unsigned int temp3[10] = {
14307
+ 0
14308
+ } ;
14309
+ unsigned int temp4[10] = {
14310
+ 0
14311
+ } ;
14312
+ void *argp5 ;
14313
+ int res5 = 0 ;
14314
+ VALUE vresult = Qnil;
14315
+
14316
+ arg2 = temp2;
14317
+ arg3 = temp3;
14318
+ arg4 = temp4;
14319
+ if ((argc < 1) || (argc > 1)) {
14320
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
14321
+ }
14322
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14323
+ if (!SWIG_IsOK(res1)) {
14324
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","dump", 1, self ));
14325
+ }
14326
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14327
+ res5 = SWIG_ConvertPtr(argv[0], &argp5, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
14328
+ if (!SWIG_IsOK(res5)) {
14329
+ SWIG_exception_fail(SWIG_ArgError(res5), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump", 5, argv[0] ));
14330
+ }
14331
+ if (!argp5) {
14332
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump", 5, argv[0]));
14333
+ }
14334
+ arg5 = reinterpret_cast< GPS_Time< double > * >(argp5);
14335
+ {
14336
+ try {
14337
+ GPS_Ephemeris_Sl_double_Sg__dump(arg1,arg2,arg3,arg4,(GPS_Time< double > const &)*arg5);
14338
+ } catch (const native_exception &e) {
14339
+ e.regenerate();
14340
+ SWIG_fail;
14341
+ } catch (const std::exception& e) {
14342
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14343
+ }
14344
+ }
14345
+ vresult = rb_ary_new();
14346
+ {
14347
+ for(int i(0); i < 10; ++i){
14348
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
14349
+ }
14350
+ }
14351
+ {
14352
+ for(int i(0); i < 10; ++i){
14353
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg3)[i]));
14354
+ }
14355
+ }
14356
+ {
14357
+ for(int i(0); i < 10; ++i){
14358
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg4)[i]));
14359
+ }
14360
+ }
14361
+ return vresult;
14362
+ fail:
14363
+ return Qnil;
14364
+ }
14365
+
14366
+
14367
+ /*
14368
+ Document-method: GPS_PVT::GPS::Ephemeris.parse_almanac
14369
+
14370
+ call-seq:
14371
+ parse_almanac(unsigned int const [10] buf) -> int
14372
+
14373
+ An instance method.
14374
+
14375
+ */
14376
+ SWIGINTERN VALUE
14377
+ _wrap_Ephemeris_parse_almanac(int argc, VALUE *argv, VALUE self) {
14378
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14379
+ unsigned int *arg2 ;
14380
+ void *argp1 = 0 ;
14381
+ int res1 = 0 ;
14382
+ unsigned int temp2[10] ;
14383
+ int result;
14384
+ VALUE vresult = Qnil;
14385
+
14386
+ if ((argc < 1) || (argc > 1)) {
14387
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
14388
+ }
14389
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14390
+ if (!SWIG_IsOK(res1)) {
14391
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","parse_almanac", 1, self ));
14392
+ }
14393
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14394
+ {
14395
+ if(!(RB_TYPE_P(argv[0], T_ARRAY) && (RARRAY_LEN(argv[0]) == 10))){
14396
+ SWIG_exception(SWIG_TypeError, "array[10] is expected");
14397
+ }
14398
+ for(int i(0); i < 10; ++i){
14399
+ if(!SWIG_IsOK(SWIG_AsVal_unsigned_SS_int (RARRAY_AREF(argv[0], i), &temp2[i]))){
14400
+ SWIG_exception(SWIG_TypeError, "unsigned int is expected");
14401
+ }
14402
+ }
14403
+ arg2 = temp2;
14404
+ }
14405
+ {
14406
+ try {
14407
+ result = (int)GPS_Ephemeris_Sl_double_Sg__parse_almanac(arg1,(unsigned int const (*))arg2);
14408
+ } catch (const native_exception &e) {
14409
+ e.regenerate();
14410
+ SWIG_fail;
14411
+ } catch (const std::exception& e) {
14412
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14413
+ }
14414
+ }
14415
+ vresult = SWIG_From_int(static_cast< int >(result));
14416
+ return vresult;
14417
+ fail:
14418
+ return Qnil;
14419
+ }
14420
+
14421
+
14422
+ /*
14423
+ Document-method: GPS_PVT::GPS::Ephemeris.dump_almanac
14424
+
14425
+ call-seq:
14426
+ dump_almanac(Time t, unsigned int const & qzss_subframe=0)
14427
+ dump_almanac(Time t)
14428
+
14429
+ An instance method.
14430
+
14431
+ */
14432
+ SWIGINTERN VALUE
14433
+ _wrap_Ephemeris_dump_almanac__SWIG_0(int argc, VALUE *argv, VALUE self) {
14434
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14435
+ unsigned int *arg2 ;
14436
+ GPS_Time< double > *arg3 = 0 ;
14437
+ unsigned int *arg4 = 0 ;
14438
+ void *argp1 = 0 ;
14439
+ int res1 = 0 ;
14440
+ unsigned int temp2[10] = {
14441
+ 0
14442
+ } ;
14443
+ void *argp3 ;
14444
+ int res3 = 0 ;
14445
+ unsigned int temp4 ;
14446
+ unsigned int val4 ;
14447
+ int ecode4 = 0 ;
14448
+ VALUE vresult = Qnil;
14449
+
14450
+ arg2 = temp2;
14451
+ if ((argc < 2) || (argc > 2)) {
14452
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
14453
+ }
14454
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14455
+ if (!SWIG_IsOK(res1)) {
14456
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","dump_almanac", 1, self ));
14457
+ }
14458
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14459
+ res3 = SWIG_ConvertPtr(argv[0], &argp3, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
14460
+ if (!SWIG_IsOK(res3)) {
14461
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump_almanac", 3, argv[0] ));
14462
+ }
14463
+ if (!argp3) {
14464
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump_almanac", 3, argv[0]));
14465
+ }
14466
+ arg3 = reinterpret_cast< GPS_Time< double > * >(argp3);
14467
+ ecode4 = SWIG_AsVal_unsigned_SS_int(argv[1], &val4);
14468
+ if (!SWIG_IsOK(ecode4)) {
14469
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "unsigned int","dump_almanac", 4, argv[1] ));
14470
+ }
14471
+ temp4 = static_cast< unsigned int >(val4);
14472
+ arg4 = &temp4;
14473
+ {
14474
+ try {
14475
+ GPS_Ephemeris_Sl_double_Sg__dump_almanac__SWIG_0(arg1,arg2,(GPS_Time< double > const &)*arg3,(unsigned int const &)*arg4);
14476
+ } catch (const native_exception &e) {
14477
+ e.regenerate();
14478
+ SWIG_fail;
14479
+ } catch (const std::exception& e) {
14480
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14481
+ }
14482
+ }
14483
+ {
14484
+ for(int i(0); i < 10; ++i){
14485
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
14486
+ }
14487
+ }
14488
+ return vresult;
14489
+ fail:
14490
+ return Qnil;
14491
+ }
14492
+
14493
+
14494
+ SWIGINTERN VALUE
14495
+ _wrap_Ephemeris_dump_almanac__SWIG_1(int argc, VALUE *argv, VALUE self) {
14496
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14497
+ unsigned int *arg2 ;
14498
+ GPS_Time< double > *arg3 = 0 ;
14499
+ void *argp1 = 0 ;
14500
+ int res1 = 0 ;
14501
+ unsigned int temp2[10] = {
14502
+ 0
14503
+ } ;
14504
+ void *argp3 ;
14505
+ int res3 = 0 ;
14506
+ VALUE vresult = Qnil;
14507
+
14508
+ arg2 = temp2;
14509
+ if ((argc < 1) || (argc > 1)) {
14510
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
14511
+ }
14512
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14513
+ if (!SWIG_IsOK(res1)) {
14514
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","dump_almanac", 1, self ));
14515
+ }
14516
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14517
+ res3 = SWIG_ConvertPtr(argv[0], &argp3, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
14518
+ if (!SWIG_IsOK(res3)) {
14519
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump_almanac", 3, argv[0] ));
14520
+ }
14521
+ if (!argp3) {
14522
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump_almanac", 3, argv[0]));
14523
+ }
14524
+ arg3 = reinterpret_cast< GPS_Time< double > * >(argp3);
14525
+ {
14526
+ try {
14527
+ GPS_Ephemeris_Sl_double_Sg__dump_almanac__SWIG_0(arg1,arg2,(GPS_Time< double > const &)*arg3);
14528
+ } catch (const native_exception &e) {
14529
+ e.regenerate();
14530
+ SWIG_fail;
14531
+ } catch (const std::exception& e) {
14532
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14533
+ }
14534
+ }
14535
+ {
14536
+ for(int i(0); i < 10; ++i){
14537
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
14538
+ }
14539
+ }
14540
+ return vresult;
14541
+ fail:
14542
+ return Qnil;
14543
+ }
14544
+
14545
+
14546
+ SWIGINTERN VALUE _wrap_Ephemeris_dump_almanac(int nargs, VALUE *args, VALUE self) {
14547
+ int argc;
14548
+ VALUE argv[4];
14549
+ int ii;
14550
+
14551
+ argc = nargs + 1;
14552
+ argv[0] = self;
14553
+ if (argc > 4) SWIG_fail;
14554
+ for (ii = 1; (ii < argc); ++ii) {
14555
+ argv[ii] = args[ii-1];
14556
+ }
14557
+ if (argc == 2) {
14558
+ int _v;
14559
+ void *vptr = 0;
14560
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_EphemerisT_double_t, 0);
14561
+ _v = SWIG_CheckState(res);
14562
+ if (_v) {
14563
+ void *vptr = 0;
14564
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_NO_NULL);
14565
+ _v = SWIG_CheckState(res);
14566
+ if (_v) {
14567
+ return _wrap_Ephemeris_dump_almanac__SWIG_1(nargs, args, self);
14568
+ }
14569
+ }
14570
+ }
14571
+ if (argc == 3) {
14572
+ int _v;
14573
+ void *vptr = 0;
14574
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_EphemerisT_double_t, 0);
14575
+ _v = SWIG_CheckState(res);
14576
+ if (_v) {
14577
+ void *vptr = 0;
14578
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_NO_NULL);
14579
+ _v = SWIG_CheckState(res);
14580
+ if (_v) {
14581
+ {
14582
+ int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL);
14583
+ _v = SWIG_CheckState(res);
14584
+ }
14585
+ if (_v) {
14586
+ return _wrap_Ephemeris_dump_almanac__SWIG_0(nargs, args, self);
14587
+ }
14588
+ }
14589
+ }
14590
+ }
14591
+
14592
+ fail:
14593
+ Ruby_Format_OverloadedError( argc, 4, "dump_almanac",
14594
+ " void dump_almanac(unsigned int buf_brdc[10], GPS_Time< double > const &t, unsigned int const &qzss_subframe)\n"
14595
+ " void dump_almanac(unsigned int buf_brdc[10], GPS_Time< double > const &t)\n");
14596
+
14597
+ return Qnil;
14598
+ }
14599
+
14600
+
14601
+ /*
14602
+ Document-method: GPS_PVT::GPS::Ephemeris.constellation
14603
+
14604
+ call-seq:
14605
+ constellation(Time t_tx, double const & dt_transit=0) -> GPS_Ephemeris< double >::constellation_res_t
14606
+ constellation(Time t_tx) -> GPS_Ephemeris< double >::constellation_res_t
14607
+
14608
+ An instance method.
14609
+
14610
+ */
14611
+ SWIGINTERN VALUE
14612
+ _wrap_Ephemeris_constellation__SWIG_0(int argc, VALUE *argv, VALUE self) {
14613
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14614
+ GPS_Time< double > *arg2 = 0 ;
14615
+ double *arg3 = 0 ;
14616
+ void *argp1 = 0 ;
14617
+ int res1 = 0 ;
14618
+ void *argp2 ;
14619
+ int res2 = 0 ;
14620
+ double temp3 ;
14621
+ double val3 ;
14622
+ int ecode3 = 0 ;
14623
+ GPS_Ephemeris< double >::constellation_res_t result;
14624
+ VALUE vresult = Qnil;
13936
14625
 
13937
14626
  if ((argc < 2) || (argc > 2)) {
13938
14627
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
@@ -15751,196 +16440,376 @@ fail:
15751
16440
 
15752
16441
 
15753
16442
  /*
15754
- Document-method: GPS_PVT::GPS::PVT.fde_2nd
16443
+ Document-method: GPS_PVT::GPS::PVT.fde_2nd
16444
+
16445
+ call-seq:
16446
+ fde_2nd
16447
+
16448
+ An instance method.
16449
+
16450
+ */
16451
+ SWIGINTERN VALUE
16452
+ _wrap_PVT_fde_2nd(int argc, VALUE *argv, VALUE self) {
16453
+ GPS_User_PVT< double > *arg1 = (GPS_User_PVT< double > *) 0 ;
16454
+ GPS_User_PVT< double >::base_t::detection_t **arg2 = (GPS_User_PVT< double >::base_t::detection_t **) 0 ;
16455
+ GPS_User_PVT< double >::base_t::exclusion_t **arg3 = (GPS_User_PVT< double >::base_t::exclusion_t **) 0 ;
16456
+ void *argp1 = 0 ;
16457
+ int res1 = 0 ;
16458
+ GPS_User_PVT< double >::base_t::detection_t *temp2 ;
16459
+ GPS_User_PVT< double >::base_t::exclusion_t *temp3 ;
16460
+ VALUE vresult = Qnil;
16461
+
16462
+ {
16463
+ arg2 = &temp2;
16464
+ }
16465
+ {
16466
+ arg3 = &temp3;
16467
+ }
16468
+ if ((argc < 0) || (argc > 0)) {
16469
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
16470
+ }
16471
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_User_PVTT_double_t, 0 | 0 );
16472
+ if (!SWIG_IsOK(res1)) {
16473
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_User_PVT< double > const *","fde_2nd", 1, self ));
16474
+ }
16475
+ arg1 = reinterpret_cast< GPS_User_PVT< double > * >(argp1);
16476
+ {
16477
+ try {
16478
+ ((GPS_User_PVT< double > const *)arg1)->fde_2nd((GPS_User_PVT< double >::base_t::detection_t const **)arg2,(GPS_User_PVT< double >::base_t::exclusion_t const **)arg3);
16479
+ } catch (const native_exception &e) {
16480
+ e.regenerate();
16481
+ SWIG_fail;
16482
+ } catch (const std::exception& e) {
16483
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
16484
+ }
16485
+ }
16486
+ vresult = rb_ary_new();
16487
+ {
16488
+ if((*arg2)->valid){
16489
+ vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->wssr));
16490
+ vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->wssr_sf));
16491
+ vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->weight_max));
16492
+ vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->slope_HV[0].max));
16493
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg2)->slope_HV[0].prn)));
16494
+ vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->slope_HV[1].max));
16495
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg2)->slope_HV[1].prn)));
16496
+ }
16497
+ }
16498
+ {
16499
+ if((*arg3)->valid){
16500
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg3)->excluded)));
16501
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_NewPointerObj(
16502
+ (new System_XYZ<double, WGS84>((*arg3)->user_position.xyz)),
16503
+ SWIGTYPE_System_XYZT_double_WGS84_t, SWIG_POINTER_OWN))
16504
+
16505
+
16506
+
16507
+ ;
16508
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_NewPointerObj(
16509
+ (new System_LLH<double, WGS84>((*arg3)->user_position.llh)),
16510
+ SWIGTYPE_System_LLHT_double_WGS84_t, SWIG_POINTER_OWN))
16511
+
16512
+
16513
+
16514
+ ;
16515
+ }
16516
+ }
16517
+ return vresult;
16518
+ fail:
16519
+ return Qnil;
16520
+ }
16521
+
16522
+
16523
+ SWIGINTERN void
16524
+ free_GPS_User_PVT_Sl_double_Sg_(void *self) {
16525
+ GPS_User_PVT< double > *arg1 = (GPS_User_PVT< double > *)self;
16526
+ delete arg1;
16527
+ }
16528
+
16529
+ /*
16530
+ Document-class: GPS_PVT::GPS::Measurement
16531
+
16532
+ Proxy of C++ GPS_PVT::GPS::Measurement class
16533
+
16534
+
16535
+ */
16536
+ static swig_class SwigClassMeasurement;
16537
+
16538
+ /*
16539
+ Document-method: GPS_PVT::GPS.L1_PSEUDORANGE
16540
+
16541
+ call-seq:
16542
+ L1_PSEUDORANGE -> int
16543
+
16544
+ A class method.
16545
+
16546
+ */
16547
+ /*
16548
+ Document-method: GPS_PVT::GPS.L1_DOPPLER
16549
+
16550
+ call-seq:
16551
+ L1_DOPPLER -> int
16552
+
16553
+ A class method.
16554
+
16555
+ */
16556
+ /*
16557
+ Document-method: GPS_PVT::GPS.L1_CARRIER_PHASE
16558
+
16559
+ call-seq:
16560
+ L1_CARRIER_PHASE -> int
16561
+
16562
+ A class method.
16563
+
16564
+ */
16565
+ /*
16566
+ Document-method: GPS_PVT::GPS.L1_RANGE_RATE
16567
+
16568
+ call-seq:
16569
+ L1_RANGE_RATE -> int
16570
+
16571
+ A class method.
16572
+
16573
+ */
16574
+ /*
16575
+ Document-method: GPS_PVT::GPS.L1_PSEUDORANGE_SIGMA
16576
+
16577
+ call-seq:
16578
+ L1_PSEUDORANGE_SIGMA -> int
16579
+
16580
+ A class method.
16581
+
16582
+ */
16583
+ /*
16584
+ Document-method: GPS_PVT::GPS.L1_DOPPLER_SIGMA
16585
+
16586
+ call-seq:
16587
+ L1_DOPPLER_SIGMA -> int
16588
+
16589
+ A class method.
16590
+
16591
+ */
16592
+ /*
16593
+ Document-method: GPS_PVT::GPS.L1_CARRIER_PHASE_SIGMA
16594
+
16595
+ call-seq:
16596
+ L1_CARRIER_PHASE_SIGMA -> int
16597
+
16598
+ A class method.
16599
+
16600
+ */
16601
+ /*
16602
+ Document-method: GPS_PVT::GPS.L1_RANGE_RATE_SIGMA
16603
+
16604
+ call-seq:
16605
+ L1_RANGE_RATE_SIGMA -> int
16606
+
16607
+ A class method.
16608
+
16609
+ */
16610
+ /*
16611
+ Document-method: GPS_PVT::GPS.L1_SIGNAL_STRENGTH_dBHz
16612
+
16613
+ call-seq:
16614
+ L1_SIGNAL_STRENGTH_dBHz -> int
16615
+
16616
+ A class method.
16617
+
16618
+ */
16619
+ /*
16620
+ Document-method: GPS_PVT::GPS.L1_LOCK_SEC
16621
+
16622
+ call-seq:
16623
+ L1_LOCK_SEC -> int
16624
+
16625
+ A class method.
16626
+
16627
+ */
16628
+ /*
16629
+ Document-method: GPS_PVT::GPS.L1_FREQUENCY
16630
+
16631
+ call-seq:
16632
+ L1_FREQUENCY -> int
16633
+
16634
+ A class method.
16635
+
16636
+ */
16637
+ /*
16638
+ Document-method: GPS_PVT::GPS.L2CM_PSEUDORANGE
16639
+
16640
+ call-seq:
16641
+ L2CM_PSEUDORANGE -> int
16642
+
16643
+ A class method.
16644
+
16645
+ */
16646
+ /*
16647
+ Document-method: GPS_PVT::GPS.L2CL_PSEUDORANGE
16648
+
16649
+ call-seq:
16650
+ L2CL_PSEUDORANGE -> int
16651
+
16652
+ A class method.
16653
+
16654
+ */
16655
+ /*
16656
+ Document-method: GPS_PVT::GPS.L2CM_PSEUDORANGE_SIGMA
16657
+
16658
+ call-seq:
16659
+ L2CM_PSEUDORANGE_SIGMA -> int
16660
+
16661
+ A class method.
16662
+
16663
+ */
16664
+ /*
16665
+ Document-method: GPS_PVT::GPS.L2CL_PSEUDORANGE_SIGMA
16666
+
16667
+ call-seq:
16668
+ L2CL_PSEUDORANGE_SIGMA -> int
16669
+
16670
+ A class method.
16671
+
16672
+ */
16673
+ /*
16674
+ Document-method: GPS_PVT::GPS.L2CM_CARRIER_PHASE
15755
16675
 
15756
16676
  call-seq:
15757
- fde_2nd
16677
+ L2CM_CARRIER_PHASE -> int
15758
16678
 
15759
- An instance method.
16679
+ A class method.
15760
16680
 
15761
16681
  */
15762
- SWIGINTERN VALUE
15763
- _wrap_PVT_fde_2nd(int argc, VALUE *argv, VALUE self) {
15764
- GPS_User_PVT< double > *arg1 = (GPS_User_PVT< double > *) 0 ;
15765
- GPS_User_PVT< double >::base_t::detection_t **arg2 = (GPS_User_PVT< double >::base_t::detection_t **) 0 ;
15766
- GPS_User_PVT< double >::base_t::exclusion_t **arg3 = (GPS_User_PVT< double >::base_t::exclusion_t **) 0 ;
15767
- void *argp1 = 0 ;
15768
- int res1 = 0 ;
15769
- GPS_User_PVT< double >::base_t::detection_t *temp2 ;
15770
- GPS_User_PVT< double >::base_t::exclusion_t *temp3 ;
15771
- VALUE vresult = Qnil;
15772
-
15773
- {
15774
- arg2 = &temp2;
15775
- }
15776
- {
15777
- arg3 = &temp3;
15778
- }
15779
- if ((argc < 0) || (argc > 0)) {
15780
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
15781
- }
15782
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_User_PVTT_double_t, 0 | 0 );
15783
- if (!SWIG_IsOK(res1)) {
15784
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_User_PVT< double > const *","fde_2nd", 1, self ));
15785
- }
15786
- arg1 = reinterpret_cast< GPS_User_PVT< double > * >(argp1);
15787
- {
15788
- try {
15789
- ((GPS_User_PVT< double > const *)arg1)->fde_2nd((GPS_User_PVT< double >::base_t::detection_t const **)arg2,(GPS_User_PVT< double >::base_t::exclusion_t const **)arg3);
15790
- } catch (const native_exception &e) {
15791
- e.regenerate();
15792
- SWIG_fail;
15793
- } catch (const std::exception& e) {
15794
- SWIG_exception_fail(SWIG_RuntimeError, e.what());
15795
- }
15796
- }
15797
- vresult = rb_ary_new();
15798
- {
15799
- if((*arg2)->valid){
15800
- vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->wssr));
15801
- vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->wssr_sf));
15802
- vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->weight_max));
15803
- vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->slope_HV[0].max));
15804
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg2)->slope_HV[0].prn)));
15805
- vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->slope_HV[1].max));
15806
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg2)->slope_HV[1].prn)));
15807
- }
15808
- }
15809
- {
15810
- if((*arg3)->valid){
15811
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg3)->excluded)));
15812
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_NewPointerObj(
15813
- (new System_XYZ<double, WGS84>((*arg3)->user_position.xyz)),
15814
- SWIGTYPE_System_XYZT_double_WGS84_t, SWIG_POINTER_OWN))
15815
-
15816
-
15817
-
15818
- ;
15819
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_NewPointerObj(
15820
- (new System_LLH<double, WGS84>((*arg3)->user_position.llh)),
15821
- SWIGTYPE_System_LLHT_double_WGS84_t, SWIG_POINTER_OWN))
15822
-
15823
-
15824
-
15825
- ;
15826
- }
15827
- }
15828
- return vresult;
15829
- fail:
15830
- return Qnil;
15831
- }
16682
+ /*
16683
+ Document-method: GPS_PVT::GPS.L2CL_CARRIER_PHASE
15832
16684
 
16685
+ call-seq:
16686
+ L2CL_CARRIER_PHASE -> int
15833
16687
 
15834
- SWIGINTERN void
15835
- free_GPS_User_PVT_Sl_double_Sg_(void *self) {
15836
- GPS_User_PVT< double > *arg1 = (GPS_User_PVT< double > *)self;
15837
- delete arg1;
15838
- }
16688
+ A class method.
15839
16689
 
16690
+ */
15840
16691
  /*
15841
- Document-class: GPS_PVT::GPS::Measurement
16692
+ Document-method: GPS_PVT::GPS.L2CM_CARRIER_PHASE_SIGMA
15842
16693
 
15843
- Proxy of C++ GPS_PVT::GPS::Measurement class
16694
+ call-seq:
16695
+ L2CM_CARRIER_PHASE_SIGMA -> int
15844
16696
 
16697
+ A class method.
15845
16698
 
15846
16699
  */
15847
- static swig_class SwigClassMeasurement;
16700
+ /*
16701
+ Document-method: GPS_PVT::GPS.L2CL_CARRIER_PHASE_SIGMA
16702
+
16703
+ call-seq:
16704
+ L2CL_CARRIER_PHASE_SIGMA -> int
16705
+
16706
+ A class method.
15848
16707
 
16708
+ */
15849
16709
  /*
15850
- Document-method: GPS_PVT::GPS.L1_PSEUDORANGE
16710
+ Document-method: GPS_PVT::GPS.L2CM_DOPPLER
15851
16711
 
15852
16712
  call-seq:
15853
- L1_PSEUDORANGE -> int
16713
+ L2CM_DOPPLER -> int
15854
16714
 
15855
16715
  A class method.
15856
16716
 
15857
16717
  */
15858
16718
  /*
15859
- Document-method: GPS_PVT::GPS.L1_DOPPLER
16719
+ Document-method: GPS_PVT::GPS.L2CL_DOPPLER
15860
16720
 
15861
16721
  call-seq:
15862
- L1_DOPPLER -> int
16722
+ L2CL_DOPPLER -> int
15863
16723
 
15864
16724
  A class method.
15865
16725
 
15866
16726
  */
15867
16727
  /*
15868
- Document-method: GPS_PVT::GPS.L1_CARRIER_PHASE
16728
+ Document-method: GPS_PVT::GPS.L2CM_DOPPLER_SIGMA
15869
16729
 
15870
16730
  call-seq:
15871
- L1_CARRIER_PHASE -> int
16731
+ L2CM_DOPPLER_SIGMA -> int
15872
16732
 
15873
16733
  A class method.
15874
16734
 
15875
16735
  */
15876
16736
  /*
15877
- Document-method: GPS_PVT::GPS.L1_RANGE_RATE
16737
+ Document-method: GPS_PVT::GPS.L2CL_DOPPLER_SIGMA
15878
16738
 
15879
16739
  call-seq:
15880
- L1_RANGE_RATE -> int
16740
+ L2CL_DOPPLER_SIGMA -> int
15881
16741
 
15882
16742
  A class method.
15883
16743
 
15884
16744
  */
15885
16745
  /*
15886
- Document-method: GPS_PVT::GPS.L1_PSEUDORANGE_SIGMA
16746
+ Document-method: GPS_PVT::GPS.L2CM_RANGE_RATE
15887
16747
 
15888
16748
  call-seq:
15889
- L1_PSEUDORANGE_SIGMA -> int
16749
+ L2CM_RANGE_RATE -> int
15890
16750
 
15891
16751
  A class method.
15892
16752
 
15893
16753
  */
15894
16754
  /*
15895
- Document-method: GPS_PVT::GPS.L1_DOPPLER_SIGMA
16755
+ Document-method: GPS_PVT::GPS.L2CL_RANGE_RATE
15896
16756
 
15897
16757
  call-seq:
15898
- L1_DOPPLER_SIGMA -> int
16758
+ L2CL_RANGE_RATE -> int
15899
16759
 
15900
16760
  A class method.
15901
16761
 
15902
16762
  */
15903
16763
  /*
15904
- Document-method: GPS_PVT::GPS.L1_CARRIER_PHASE_SIGMA
16764
+ Document-method: GPS_PVT::GPS.L2CM_RANGE_RATE_SIGMA
15905
16765
 
15906
16766
  call-seq:
15907
- L1_CARRIER_PHASE_SIGMA -> int
16767
+ L2CM_RANGE_RATE_SIGMA -> int
15908
16768
 
15909
16769
  A class method.
15910
16770
 
15911
16771
  */
15912
16772
  /*
15913
- Document-method: GPS_PVT::GPS.L1_RANGE_RATE_SIGMA
16773
+ Document-method: GPS_PVT::GPS.L2CL_RANGE_RATE_SIGMA
15914
16774
 
15915
16775
  call-seq:
15916
- L1_RANGE_RATE_SIGMA -> int
16776
+ L2CL_RANGE_RATE_SIGMA -> int
15917
16777
 
15918
16778
  A class method.
15919
16779
 
15920
16780
  */
15921
16781
  /*
15922
- Document-method: GPS_PVT::GPS.L1_SIGNAL_STRENGTH_dBHz
16782
+ Document-method: GPS_PVT::GPS.L2CM_SIGNAL_STRENGTH_dBHz
15923
16783
 
15924
16784
  call-seq:
15925
- L1_SIGNAL_STRENGTH_dBHz -> int
16785
+ L2CM_SIGNAL_STRENGTH_dBHz -> int
15926
16786
 
15927
16787
  A class method.
15928
16788
 
15929
16789
  */
15930
16790
  /*
15931
- Document-method: GPS_PVT::GPS.L1_LOCK_SEC
16791
+ Document-method: GPS_PVT::GPS.L2CL_SIGNAL_STRENGTH_dBHz
15932
16792
 
15933
16793
  call-seq:
15934
- L1_LOCK_SEC -> int
16794
+ L2CL_SIGNAL_STRENGTH_dBHz -> int
15935
16795
 
15936
16796
  A class method.
15937
16797
 
15938
16798
  */
15939
16799
  /*
15940
- Document-method: GPS_PVT::GPS.L1_FREQUENCY
16800
+ Document-method: GPS_PVT::GPS.L2CM_LOCK_SEC
15941
16801
 
15942
16802
  call-seq:
15943
- L1_FREQUENCY -> int
16803
+ L2CM_LOCK_SEC -> int
16804
+
16805
+ A class method.
16806
+
16807
+ */
16808
+ /*
16809
+ Document-method: GPS_PVT::GPS.L2CL_LOCK_SEC
16810
+
16811
+ call-seq:
16812
+ L2CL_LOCK_SEC -> int
15944
16813
 
15945
16814
  A class method.
15946
16815
 
@@ -16141,169 +17010,40 @@ fail:
16141
17010
  }
16142
17011
 
16143
17012
 
16144
- SWIGINTERN VALUE
16145
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
16146
- _wrap_Measurement_allocate(VALUE self)
16147
- #else
16148
- _wrap_Measurement_allocate(int argc, VALUE *argv, VALUE self)
16149
- #endif
16150
- {
16151
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_GPS_MeasurementT_double_t);
16152
- #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
16153
- rb_obj_call_init(vresult, argc, argv);
16154
- #endif
16155
- return vresult;
16156
- }
16157
-
16158
-
16159
- SWIGINTERN VALUE
16160
- _wrap_new_Measurement__SWIG_1(int argc, VALUE *argv, VALUE self) {
16161
- GPS_Measurement< double > *arg1 = 0 ;
16162
- GPS_Measurement< double > temp1 ;
16163
- GPS_Measurement< double > *result = 0 ;
16164
-
16165
- if ((argc < 1) || (argc > 1)) {
16166
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
16167
- }
16168
- {
16169
- if((!SWIG_IsOK(SWIG_ConvertPtr(argv[0], (void **)&arg1, SWIGTYPE_p_GPS_MeasurementT_double_t, 0)))
16170
- && (!SWIG_IsOK(swig::asval(argv[0], (arg1 = &temp1))))){
16171
- SWIG_exception(SWIG_TypeError, "in method 'GPS_Measurement<(double)>', expecting type GPS_Measurement< double >");
16172
- }
16173
- }
16174
- {
16175
- try {
16176
- result = (GPS_Measurement< double > *)new GPS_Measurement< double >((GPS_Measurement< double > const &)*arg1);
16177
- DATA_PTR(self) = result;
16178
- } catch (const native_exception &e) {
16179
- e.regenerate();
16180
- SWIG_fail;
16181
- } catch (const std::exception& e) {
16182
- SWIG_exception_fail(SWIG_RuntimeError, e.what());
16183
- }
16184
- }
16185
- return self;
16186
- fail:
16187
- return Qnil;
16188
- }
16189
-
16190
-
16191
- SWIGINTERN VALUE _wrap_new_Measurement(int nargs, VALUE *args, VALUE self) {
16192
- int argc;
16193
- VALUE argv[1];
16194
- int ii;
16195
-
16196
- argc = nargs;
16197
- if (argc > 1) SWIG_fail;
16198
- for (ii = 0; (ii < argc); ++ii) {
16199
- argv[ii] = args[ii];
16200
- }
16201
- if (argc == 0) {
16202
- return _wrap_new_Measurement__SWIG_0(nargs, args, self);
16203
- }
16204
- if (argc == 1) {
16205
- int _v;
16206
- {
16207
- _v = SWIG_CheckState(SWIG_ConvertPtr(argv[0], (void **)0, SWIGTYPE_p_GPS_MeasurementT_double_t, 0))
16208
- || swig::check<GPS_Measurement<double> >(argv[0]);
16209
- }
16210
- if (_v) {
16211
- return _wrap_new_Measurement__SWIG_1(nargs, args, self);
16212
- }
16213
- }
16214
-
16215
- fail:
16216
- Ruby_Format_OverloadedError( argc, 1, "Measurement.new",
16217
- " Measurement.new()\n"
16218
- " Measurement.new(GPS_Measurement< double > const &other)\n");
16219
-
16220
- return Qnil;
16221
- }
16222
-
16223
-
16224
- SWIGINTERN void
16225
- free_GPS_Measurement_Sl_double_Sg_(void *self) {
16226
- GPS_Measurement< double > *arg1 = (GPS_Measurement< double > *)self;
16227
- delete arg1;
16228
- }
16229
-
16230
- /*
16231
- Document-class: GPS_PVT::GPS::SolverOptionsCommon
16232
-
16233
- Proxy of C++ GPS_PVT::GPS::SolverOptionsCommon class
16234
-
16235
-
16236
- */
16237
- static swig_class SwigClassSolverOptionsCommon;
16238
-
16239
- SWIGINTERN void
16240
- free_GPS_SolverOptions_Common_Sl_double_Sg_(void *self) {
16241
- GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *)self;
16242
- delete arg1;
16243
- }
16244
-
16245
- /*
16246
- Document-method: GPS_PVT::GPS::SolverOptionsCommon.cast_general
16247
-
16248
- call-seq:
16249
- cast_general -> GPS_Solver_GeneralOptions< double > *
16250
- cast_general -> GPS_Solver_GeneralOptions< double > const
16251
-
16252
- An instance method.
16253
-
16254
- */
16255
- SWIGINTERN VALUE
16256
- _wrap_SolverOptionsCommon_cast_general__SWIG_0(int argc, VALUE *argv, VALUE self) {
16257
- GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *) 0 ;
16258
- void *argp1 = 0 ;
16259
- int res1 = 0 ;
16260
- GPS_Solver_GeneralOptions< double > *result = 0 ;
16261
- VALUE vresult = Qnil;
16262
-
16263
- if ((argc < 0) || (argc > 0)) {
16264
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
16265
- }
16266
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0 | 0 );
16267
- if (!SWIG_IsOK(res1)) {
16268
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions_Common< double > *","cast_general", 1, self ));
16269
- }
16270
- arg1 = reinterpret_cast< GPS_SolverOptions_Common< double > * >(argp1);
16271
- {
16272
- try {
16273
- result = (GPS_Solver_GeneralOptions< double > *)(arg1)->cast_general();
16274
- } catch (const native_exception &e) {
16275
- e.regenerate();
16276
- SWIG_fail;
16277
- } catch (const std::exception& e) {
16278
- SWIG_exception_fail(SWIG_RuntimeError, e.what());
16279
- }
16280
- }
16281
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_GPS_Solver_GeneralOptionsT_double_t, 0 | 0 );
17013
+ SWIGINTERN VALUE
17014
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
17015
+ _wrap_Measurement_allocate(VALUE self)
17016
+ #else
17017
+ _wrap_Measurement_allocate(int argc, VALUE *argv, VALUE self)
17018
+ #endif
17019
+ {
17020
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_GPS_MeasurementT_double_t);
17021
+ #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
17022
+ rb_obj_call_init(vresult, argc, argv);
17023
+ #endif
16282
17024
  return vresult;
16283
- fail:
16284
- return Qnil;
16285
17025
  }
16286
17026
 
16287
17027
 
16288
17028
  SWIGINTERN VALUE
16289
- _wrap_SolverOptionsCommon_cast_general__SWIG_1(int argc, VALUE *argv, VALUE self) {
16290
- GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *) 0 ;
16291
- void *argp1 = 0 ;
16292
- int res1 = 0 ;
16293
- GPS_Solver_GeneralOptions< double > *result = 0 ;
16294
- VALUE vresult = Qnil;
17029
+ _wrap_new_Measurement__SWIG_1(int argc, VALUE *argv, VALUE self) {
17030
+ GPS_Measurement< double > *arg1 = 0 ;
17031
+ GPS_Measurement< double > temp1 ;
17032
+ GPS_Measurement< double > *result = 0 ;
16295
17033
 
16296
- if ((argc < 0) || (argc > 0)) {
16297
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
17034
+ if ((argc < 1) || (argc > 1)) {
17035
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
16298
17036
  }
16299
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0 | 0 );
16300
- if (!SWIG_IsOK(res1)) {
16301
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions_Common< double > const *","cast_general", 1, self ));
17037
+ {
17038
+ if((!SWIG_IsOK(SWIG_ConvertPtr(argv[0], (void **)&arg1, SWIGTYPE_p_GPS_MeasurementT_double_t, 0)))
17039
+ && (!SWIG_IsOK(swig::asval(argv[0], (arg1 = &temp1))))){
17040
+ SWIG_exception(SWIG_TypeError, "in method 'GPS_Measurement<(double)>', expecting type GPS_Measurement< double >");
17041
+ }
16302
17042
  }
16303
- arg1 = reinterpret_cast< GPS_SolverOptions_Common< double > * >(argp1);
16304
17043
  {
16305
17044
  try {
16306
- result = (GPS_Solver_GeneralOptions< double > *)((GPS_SolverOptions_Common< double > const *)arg1)->cast_general();
17045
+ result = (GPS_Measurement< double > *)new GPS_Measurement< double >((GPS_Measurement< double > const &)*arg1);
17046
+ DATA_PTR(self) = result;
16307
17047
  } catch (const native_exception &e) {
16308
17048
  e.regenerate();
16309
17049
  SWIG_fail;
@@ -16311,52 +17051,66 @@ _wrap_SolverOptionsCommon_cast_general__SWIG_1(int argc, VALUE *argv, VALUE self
16311
17051
  SWIG_exception_fail(SWIG_RuntimeError, e.what());
16312
17052
  }
16313
17053
  }
16314
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_GPS_Solver_GeneralOptionsT_double_t, 0 | 0 );
16315
- return vresult;
17054
+ return self;
16316
17055
  fail:
16317
17056
  return Qnil;
16318
17057
  }
16319
17058
 
16320
17059
 
16321
- SWIGINTERN VALUE _wrap_SolverOptionsCommon_cast_general(int nargs, VALUE *args, VALUE self) {
17060
+ SWIGINTERN VALUE _wrap_new_Measurement(int nargs, VALUE *args, VALUE self) {
16322
17061
  int argc;
16323
- VALUE argv[2];
17062
+ VALUE argv[1];
16324
17063
  int ii;
16325
17064
 
16326
- argc = nargs + 1;
16327
- argv[0] = self;
16328
- if (argc > 2) SWIG_fail;
16329
- for (ii = 1; (ii < argc); ++ii) {
16330
- argv[ii] = args[ii-1];
17065
+ argc = nargs;
17066
+ if (argc > 1) SWIG_fail;
17067
+ for (ii = 0; (ii < argc); ++ii) {
17068
+ argv[ii] = args[ii];
16331
17069
  }
16332
- if (argc == 1) {
16333
- int _v;
16334
- void *vptr = 0;
16335
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0);
16336
- _v = SWIG_CheckState(res);
16337
- if (_v) {
16338
- return _wrap_SolverOptionsCommon_cast_general__SWIG_0(nargs, args, self);
16339
- }
17070
+ if (argc == 0) {
17071
+ return _wrap_new_Measurement__SWIG_0(nargs, args, self);
16340
17072
  }
16341
17073
  if (argc == 1) {
16342
17074
  int _v;
16343
- void *vptr = 0;
16344
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0);
16345
- _v = SWIG_CheckState(res);
17075
+ {
17076
+ _v = SWIG_CheckState(SWIG_ConvertPtr(argv[0], (void **)0, SWIGTYPE_p_GPS_MeasurementT_double_t, 0))
17077
+ || swig::check<GPS_Measurement<double> >(argv[0]);
17078
+ }
16346
17079
  if (_v) {
16347
- return _wrap_SolverOptionsCommon_cast_general__SWIG_1(nargs, args, self);
17080
+ return _wrap_new_Measurement__SWIG_1(nargs, args, self);
16348
17081
  }
16349
17082
  }
16350
17083
 
16351
17084
  fail:
16352
- Ruby_Format_OverloadedError( argc, 2, "SolverOptionsCommon.cast_general",
16353
- " GPS_Solver_GeneralOptions< double > SolverOptionsCommon.cast_general()\n"
16354
- " GPS_Solver_GeneralOptions< double > const * SolverOptionsCommon.cast_general()\n");
17085
+ Ruby_Format_OverloadedError( argc, 1, "Measurement.new",
17086
+ " Measurement.new()\n"
17087
+ " Measurement.new(GPS_Measurement< double > const &other)\n");
16355
17088
 
16356
17089
  return Qnil;
16357
17090
  }
16358
17091
 
16359
17092
 
17093
+ SWIGINTERN void
17094
+ free_GPS_Measurement_Sl_double_Sg_(void *self) {
17095
+ GPS_Measurement< double > *arg1 = (GPS_Measurement< double > *)self;
17096
+ delete arg1;
17097
+ }
17098
+
17099
+ /*
17100
+ Document-class: GPS_PVT::GPS::SolverOptionsCommon
17101
+
17102
+ Proxy of C++ GPS_PVT::GPS::SolverOptionsCommon class
17103
+
17104
+
17105
+ */
17106
+ static swig_class SwigClassSolverOptionsCommon;
17107
+
17108
+ SWIGINTERN void
17109
+ free_GPS_SolverOptions_Common_Sl_double_Sg_(void *self) {
17110
+ GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *)self;
17111
+ delete arg1;
17112
+ }
17113
+
16360
17114
  /*
16361
17115
  Document-method: GPS_PVT::GPS::SolverOptionsCommon.elevation_mask=
16362
17116
 
@@ -16701,6 +17455,100 @@ fail:
16701
17455
  }
16702
17456
 
16703
17457
 
17458
+ /*
17459
+ Document-method: GPS_PVT::GPS::SolverOptions.exclude_L2C?
17460
+
17461
+ call-seq:
17462
+ exclude_L2C? -> bool
17463
+
17464
+ An instance method.
17465
+
17466
+ */
17467
+ SWIGINTERN VALUE
17468
+ _wrap_SolverOptions_exclude_L2Cq___(int argc, VALUE *argv, VALUE self) {
17469
+ GPS_SolverOptions< double > *arg1 = (GPS_SolverOptions< double > *) 0 ;
17470
+ void *argp1 = 0 ;
17471
+ int res1 = 0 ;
17472
+ bool result;
17473
+ VALUE vresult = Qnil;
17474
+
17475
+ if ((argc < 0) || (argc > 0)) {
17476
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
17477
+ }
17478
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptionsT_double_t, 0 | 0 );
17479
+ if (!SWIG_IsOK(res1)) {
17480
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions< double > *","get_exclude_L2C", 1, self ));
17481
+ }
17482
+ arg1 = reinterpret_cast< GPS_SolverOptions< double > * >(argp1);
17483
+ {
17484
+ try {
17485
+ result = (bool)(arg1)->get_exclude_L2C();
17486
+ } catch (const native_exception &e) {
17487
+ e.regenerate();
17488
+ SWIG_fail;
17489
+ } catch (const std::exception& e) {
17490
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
17491
+ }
17492
+ }
17493
+ vresult = SWIG_From_bool(static_cast< bool >(result));
17494
+ return vresult;
17495
+ fail:
17496
+ return Qnil;
17497
+ }
17498
+
17499
+
17500
+ /*
17501
+ Document-method: GPS_PVT::GPS::SolverOptions.exclude_L2C=
17502
+
17503
+ call-seq:
17504
+ exclude_L2C=(bool const & b) -> bool
17505
+
17506
+ An instance method.
17507
+
17508
+ */
17509
+ SWIGINTERN VALUE
17510
+ _wrap_SolverOptions_exclude_L2Ce___(int argc, VALUE *argv, VALUE self) {
17511
+ GPS_SolverOptions< double > *arg1 = (GPS_SolverOptions< double > *) 0 ;
17512
+ bool *arg2 = 0 ;
17513
+ void *argp1 = 0 ;
17514
+ int res1 = 0 ;
17515
+ bool temp2 ;
17516
+ bool val2 ;
17517
+ int ecode2 = 0 ;
17518
+ bool result;
17519
+ VALUE vresult = Qnil;
17520
+
17521
+ if ((argc < 1) || (argc > 1)) {
17522
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
17523
+ }
17524
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptionsT_double_t, 0 | 0 );
17525
+ if (!SWIG_IsOK(res1)) {
17526
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions< double > *","set_exclude_L2C", 1, self ));
17527
+ }
17528
+ arg1 = reinterpret_cast< GPS_SolverOptions< double > * >(argp1);
17529
+ ecode2 = SWIG_AsVal_bool(argv[0], &val2);
17530
+ if (!SWIG_IsOK(ecode2)) {
17531
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","set_exclude_L2C", 2, argv[0] ));
17532
+ }
17533
+ temp2 = static_cast< bool >(val2);
17534
+ arg2 = &temp2;
17535
+ {
17536
+ try {
17537
+ result = (bool)(arg1)->set_exclude_L2C((bool const &)*arg2);
17538
+ } catch (const native_exception &e) {
17539
+ e.regenerate();
17540
+ SWIG_fail;
17541
+ } catch (const std::exception& e) {
17542
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
17543
+ }
17544
+ }
17545
+ vresult = SWIG_From_bool(static_cast< bool >(result));
17546
+ return vresult;
17547
+ fail:
17548
+ return Qnil;
17549
+ }
17550
+
17551
+
16704
17552
  SWIGINTERN VALUE
16705
17553
  #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
16706
17554
  _wrap_SolverOptions_allocate(VALUE self)
@@ -17450,21 +18298,116 @@ SWIGINTERN VALUE _wrap_new_Ephemeris_SBAS(int nargs, VALUE *args, VALUE self) {
17450
18298
  if (argc == 0) {
17451
18299
  return _wrap_new_Ephemeris_SBAS__SWIG_0(nargs, args, self);
17452
18300
  }
17453
- if (argc == 1) {
17454
- int _v;
17455
- void *vptr = 0;
17456
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris, SWIG_POINTER_NO_NULL);
17457
- _v = SWIG_CheckState(res);
17458
- if (_v) {
17459
- return _wrap_new_Ephemeris_SBAS__SWIG_1(nargs, args, self);
18301
+ if (argc == 1) {
18302
+ int _v;
18303
+ void *vptr = 0;
18304
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris, SWIG_POINTER_NO_NULL);
18305
+ _v = SWIG_CheckState(res);
18306
+ if (_v) {
18307
+ return _wrap_new_Ephemeris_SBAS__SWIG_1(nargs, args, self);
18308
+ }
18309
+ }
18310
+
18311
+ fail:
18312
+ Ruby_Format_OverloadedError( argc, 1, "Ephemeris_SBAS.new",
18313
+ " Ephemeris_SBAS.new()\n"
18314
+ " Ephemeris_SBAS.new(SBAS_SpaceNode< double >::SatelliteProperties::Ephemeris const &eph)\n");
18315
+
18316
+ return Qnil;
18317
+ }
18318
+
18319
+
18320
+ /*
18321
+ Document-method: GPS_PVT::GPS::Ephemeris_SBAS.valid?
18322
+
18323
+ call-seq:
18324
+ valid?(Time t) -> bool
18325
+
18326
+ An instance method.
18327
+
18328
+ */
18329
+ SWIGINTERN VALUE
18330
+ _wrap_Ephemeris_SBAS_validq___(int argc, VALUE *argv, VALUE self) {
18331
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
18332
+ GPS_Time< double > *arg2 = 0 ;
18333
+ void *argp1 = 0 ;
18334
+ int res1 = 0 ;
18335
+ void *argp2 ;
18336
+ int res2 = 0 ;
18337
+ bool result;
18338
+ VALUE vresult = Qnil;
18339
+
18340
+ if ((argc < 1) || (argc > 1)) {
18341
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
18342
+ }
18343
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
18344
+ if (!SWIG_IsOK(res1)) {
18345
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > const *","is_valid", 1, self ));
18346
+ }
18347
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
18348
+ res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
18349
+ if (!SWIG_IsOK(res2)) {
18350
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_Time< double > const &","is_valid", 2, argv[0] ));
18351
+ }
18352
+ if (!argp2) {
18353
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","is_valid", 2, argv[0]));
18354
+ }
18355
+ arg2 = reinterpret_cast< GPS_Time< double > * >(argp2);
18356
+ {
18357
+ try {
18358
+ result = (bool)((SBAS_Ephemeris< double > const *)arg1)->is_valid((GPS_Time< double > const &)*arg2);
18359
+ } catch (const native_exception &e) {
18360
+ e.regenerate();
18361
+ SWIG_fail;
18362
+ } catch (const std::exception& e) {
18363
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
18364
+ }
18365
+ }
18366
+ vresult = SWIG_From_bool(static_cast< bool >(result));
18367
+ return vresult;
18368
+ fail:
18369
+ return Qnil;
18370
+ }
18371
+
18372
+
18373
+ /*
18374
+ Document-method: GPS_PVT::GPS::Ephemeris_SBAS.t_applicable
18375
+
18376
+ call-seq:
18377
+ t_applicable -> Time
18378
+
18379
+ An instance method.
18380
+
18381
+ */
18382
+ SWIGINTERN VALUE
18383
+ _wrap_Ephemeris_SBAS_t_applicable(int argc, VALUE *argv, VALUE self) {
18384
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
18385
+ void *argp1 = 0 ;
18386
+ int res1 = 0 ;
18387
+ GPS_Time< double > result;
18388
+ VALUE vresult = Qnil;
18389
+
18390
+ if ((argc < 0) || (argc > 0)) {
18391
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
18392
+ }
18393
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
18394
+ if (!SWIG_IsOK(res1)) {
18395
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > const *","t_applicable", 1, self ));
18396
+ }
18397
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
18398
+ {
18399
+ try {
18400
+ result = ((SBAS_Ephemeris< double > const *)arg1)->t_applicable();
18401
+ } catch (const native_exception &e) {
18402
+ e.regenerate();
18403
+ SWIG_fail;
18404
+ } catch (const std::exception& e) {
18405
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
17460
18406
  }
17461
18407
  }
17462
-
18408
+ vresult = SWIG_NewPointerObj((new GPS_Time< double >(static_cast< const GPS_Time< double >& >(result))), SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_OWN | 0 );
18409
+ return vresult;
17463
18410
  fail:
17464
- Ruby_Format_OverloadedError( argc, 1, "Ephemeris_SBAS.new",
17465
- " Ephemeris_SBAS.new()\n"
17466
- " Ephemeris_SBAS.new(SBAS_SpaceNode< double >::SatelliteProperties::Ephemeris const &eph)\n");
17467
-
17468
18411
  return Qnil;
17469
18412
  }
17470
18413
 
@@ -18879,6 +19822,153 @@ fail:
18879
19822
  }
18880
19823
 
18881
19824
 
19825
+ /*
19826
+ Document-method: GPS_PVT::GPS::Ephemeris_SBAS.dump
19827
+
19828
+ call-seq:
19829
+ dump(unsigned int const & preamble_idx=0)
19830
+ dump
19831
+
19832
+ An instance method.
19833
+
19834
+ */
19835
+ SWIGINTERN VALUE
19836
+ _wrap_Ephemeris_SBAS_dump__SWIG_0(int argc, VALUE *argv, VALUE self) {
19837
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
19838
+ unsigned int *arg2 ;
19839
+ unsigned int *arg3 = 0 ;
19840
+ void *argp1 = 0 ;
19841
+ int res1 = 0 ;
19842
+ unsigned int temp2[8] = {
19843
+ 0
19844
+ } ;
19845
+ unsigned int temp3 ;
19846
+ unsigned int val3 ;
19847
+ int ecode3 = 0 ;
19848
+ VALUE vresult = Qnil;
19849
+
19850
+ arg2 = temp2;
19851
+ if ((argc < 1) || (argc > 1)) {
19852
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
19853
+ }
19854
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
19855
+ if (!SWIG_IsOK(res1)) {
19856
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > *","dump", 1, self ));
19857
+ }
19858
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
19859
+ ecode3 = SWIG_AsVal_unsigned_SS_int(argv[0], &val3);
19860
+ if (!SWIG_IsOK(ecode3)) {
19861
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "unsigned int","dump", 3, argv[0] ));
19862
+ }
19863
+ temp3 = static_cast< unsigned int >(val3);
19864
+ arg3 = &temp3;
19865
+ {
19866
+ try {
19867
+ SBAS_Ephemeris_Sl_double_Sg__dump__SWIG_0(arg1,arg2,(unsigned int const &)*arg3);
19868
+ } catch (const native_exception &e) {
19869
+ e.regenerate();
19870
+ SWIG_fail;
19871
+ } catch (const std::exception& e) {
19872
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
19873
+ }
19874
+ }
19875
+ {
19876
+ for(int i(0); i < 8; ++i){
19877
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
19878
+ }
19879
+ }
19880
+ return vresult;
19881
+ fail:
19882
+ return Qnil;
19883
+ }
19884
+
19885
+
19886
+ SWIGINTERN VALUE
19887
+ _wrap_Ephemeris_SBAS_dump__SWIG_1(int argc, VALUE *argv, VALUE self) {
19888
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
19889
+ unsigned int *arg2 ;
19890
+ void *argp1 = 0 ;
19891
+ int res1 = 0 ;
19892
+ unsigned int temp2[8] = {
19893
+ 0
19894
+ } ;
19895
+ VALUE vresult = Qnil;
19896
+
19897
+ arg2 = temp2;
19898
+ if ((argc < 0) || (argc > 0)) {
19899
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
19900
+ }
19901
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
19902
+ if (!SWIG_IsOK(res1)) {
19903
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > *","dump", 1, self ));
19904
+ }
19905
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
19906
+ {
19907
+ try {
19908
+ SBAS_Ephemeris_Sl_double_Sg__dump__SWIG_0(arg1,arg2);
19909
+ } catch (const native_exception &e) {
19910
+ e.regenerate();
19911
+ SWIG_fail;
19912
+ } catch (const std::exception& e) {
19913
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
19914
+ }
19915
+ }
19916
+ {
19917
+ for(int i(0); i < 8; ++i){
19918
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
19919
+ }
19920
+ }
19921
+ return vresult;
19922
+ fail:
19923
+ return Qnil;
19924
+ }
19925
+
19926
+
19927
+ SWIGINTERN VALUE _wrap_Ephemeris_SBAS_dump(int nargs, VALUE *args, VALUE self) {
19928
+ int argc;
19929
+ VALUE argv[3];
19930
+ int ii;
19931
+
19932
+ argc = nargs + 1;
19933
+ argv[0] = self;
19934
+ if (argc > 3) SWIG_fail;
19935
+ for (ii = 1; (ii < argc); ++ii) {
19936
+ argv[ii] = args[ii-1];
19937
+ }
19938
+ if (argc == 1) {
19939
+ int _v;
19940
+ void *vptr = 0;
19941
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_EphemerisT_double_t, 0);
19942
+ _v = SWIG_CheckState(res);
19943
+ if (_v) {
19944
+ return _wrap_Ephemeris_SBAS_dump__SWIG_1(nargs, args, self);
19945
+ }
19946
+ }
19947
+ if (argc == 2) {
19948
+ int _v;
19949
+ void *vptr = 0;
19950
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_EphemerisT_double_t, 0);
19951
+ _v = SWIG_CheckState(res);
19952
+ if (_v) {
19953
+ {
19954
+ int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL);
19955
+ _v = SWIG_CheckState(res);
19956
+ }
19957
+ if (_v) {
19958
+ return _wrap_Ephemeris_SBAS_dump__SWIG_0(nargs, args, self);
19959
+ }
19960
+ }
19961
+ }
19962
+
19963
+ fail:
19964
+ Ruby_Format_OverloadedError( argc, 3, "dump",
19965
+ " void dump(unsigned int buf_brdc[8], unsigned int const &preamble_idx)\n"
19966
+ " void dump(unsigned int buf_brdc[8])\n");
19967
+
19968
+ return Qnil;
19969
+ }
19970
+
19971
+
18882
19972
  /*
18883
19973
  Document-method: GPS_PVT::GPS::Ephemeris_SBAS.constellation
18884
19974
 
@@ -21479,6 +22569,59 @@ fail:
21479
22569
  }
21480
22570
 
21481
22571
 
22572
+ /*
22573
+ Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.valid?
22574
+
22575
+ call-seq:
22576
+ valid?(Time t) -> bool
22577
+
22578
+ An instance method.
22579
+
22580
+ */
22581
+ SWIGINTERN VALUE
22582
+ _wrap_Ephemeris_GLONASS_validq___(int argc, VALUE *argv, VALUE self) {
22583
+ GLONASS_Ephemeris< double > *arg1 = (GLONASS_Ephemeris< double > *) 0 ;
22584
+ GPS_Time< double > *arg2 = 0 ;
22585
+ void *argp1 = 0 ;
22586
+ int res1 = 0 ;
22587
+ void *argp2 ;
22588
+ int res2 = 0 ;
22589
+ bool result;
22590
+ VALUE vresult = Qnil;
22591
+
22592
+ if ((argc < 1) || (argc > 1)) {
22593
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
22594
+ }
22595
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GLONASS_EphemerisT_double_t, 0 | 0 );
22596
+ if (!SWIG_IsOK(res1)) {
22597
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GLONASS_Ephemeris< double > const *","is_valid", 1, self ));
22598
+ }
22599
+ arg1 = reinterpret_cast< GLONASS_Ephemeris< double > * >(argp1);
22600
+ res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
22601
+ if (!SWIG_IsOK(res2)) {
22602
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_Time< double > const &","is_valid", 2, argv[0] ));
22603
+ }
22604
+ if (!argp2) {
22605
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","is_valid", 2, argv[0]));
22606
+ }
22607
+ arg2 = reinterpret_cast< GPS_Time< double > * >(argp2);
22608
+ {
22609
+ try {
22610
+ result = (bool)((GLONASS_Ephemeris< double > const *)arg1)->is_valid((GPS_Time< double > const &)*arg2);
22611
+ } catch (const native_exception &e) {
22612
+ e.regenerate();
22613
+ SWIG_fail;
22614
+ } catch (const std::exception& e) {
22615
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
22616
+ }
22617
+ }
22618
+ vresult = SWIG_From_bool(static_cast< bool >(result));
22619
+ return vresult;
22620
+ fail:
22621
+ return Qnil;
22622
+ }
22623
+
22624
+
21482
22625
  /*
21483
22626
  Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.new
21484
22627
 
@@ -24520,6 +25663,108 @@ fail:
24520
25663
  }
24521
25664
 
24522
25665
 
25666
+ /*
25667
+ Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.dump
25668
+
25669
+ call-seq:
25670
+ dump(Time t)
25671
+
25672
+ An instance method.
25673
+
25674
+ */
25675
+ SWIGINTERN VALUE
25676
+ _wrap_Ephemeris_GLONASS_dump(int argc, VALUE *argv, VALUE self) {
25677
+ GLONASS_Ephemeris< double > *arg1 = (GLONASS_Ephemeris< double > *) 0 ;
25678
+ unsigned int *arg2 ;
25679
+ unsigned int *arg3 ;
25680
+ unsigned int *arg4 ;
25681
+ unsigned int *arg5 ;
25682
+ unsigned int *arg6 ;
25683
+ GPS_Time< double > *arg7 = 0 ;
25684
+ void *argp1 = 0 ;
25685
+ int res1 = 0 ;
25686
+ unsigned int temp2[3] = {
25687
+ 0
25688
+ } ;
25689
+ unsigned int temp3[3] = {
25690
+ 0
25691
+ } ;
25692
+ unsigned int temp4[3] = {
25693
+ 0
25694
+ } ;
25695
+ unsigned int temp5[3] = {
25696
+ 0
25697
+ } ;
25698
+ unsigned int temp6[3] = {
25699
+ 0
25700
+ } ;
25701
+ void *argp7 ;
25702
+ int res7 = 0 ;
25703
+ VALUE vresult = Qnil;
25704
+
25705
+ arg2 = temp2;
25706
+ arg3 = temp3;
25707
+ arg4 = temp4;
25708
+ arg5 = temp5;
25709
+ arg6 = temp6;
25710
+ if ((argc < 1) || (argc > 1)) {
25711
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
25712
+ }
25713
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GLONASS_EphemerisT_double_t, 0 | 0 );
25714
+ if (!SWIG_IsOK(res1)) {
25715
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GLONASS_Ephemeris< double > *","dump", 1, self ));
25716
+ }
25717
+ arg1 = reinterpret_cast< GLONASS_Ephemeris< double > * >(argp1);
25718
+ res7 = SWIG_ConvertPtr(argv[0], &argp7, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
25719
+ if (!SWIG_IsOK(res7)) {
25720
+ SWIG_exception_fail(SWIG_ArgError(res7), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump", 7, argv[0] ));
25721
+ }
25722
+ if (!argp7) {
25723
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump", 7, argv[0]));
25724
+ }
25725
+ arg7 = reinterpret_cast< GPS_Time< double > * >(argp7);
25726
+ {
25727
+ try {
25728
+ GLONASS_Ephemeris_Sl_double_Sg__dump(arg1,arg2,arg3,arg4,arg5,arg6,(GPS_Time< double > const &)*arg7);
25729
+ } catch (const native_exception &e) {
25730
+ e.regenerate();
25731
+ SWIG_fail;
25732
+ } catch (const std::exception& e) {
25733
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
25734
+ }
25735
+ }
25736
+ vresult = rb_ary_new();
25737
+ {
25738
+ for(int i(0); i < 3; ++i){
25739
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
25740
+ }
25741
+ }
25742
+ {
25743
+ for(int i(0); i < 3; ++i){
25744
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg3)[i]));
25745
+ }
25746
+ }
25747
+ {
25748
+ for(int i(0); i < 3; ++i){
25749
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg4)[i]));
25750
+ }
25751
+ }
25752
+ {
25753
+ for(int i(0); i < 3; ++i){
25754
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg5)[i]));
25755
+ }
25756
+ }
25757
+ {
25758
+ for(int i(0); i < 3; ++i){
25759
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg6)[i]));
25760
+ }
25761
+ }
25762
+ return vresult;
25763
+ fail:
25764
+ return Qnil;
25765
+ }
25766
+
25767
+
24523
25768
  /*
24524
25769
  Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.constellation
24525
25770
 
@@ -26221,7 +27466,6 @@ static swig_type_info _swigt__p_GPS_MeasurementT_double_t = {"_p_GPS_Measurement
26221
27466
  static swig_type_info _swigt__p_GPS_SolverOptionsT_double_t = {"_p_GPS_SolverOptionsT_double_t", "GPS_SolverOptions< double > *", 0, 0, (void*)0, 0};
26222
27467
  static swig_type_info _swigt__p_GPS_SolverOptions_CommonT_double_t = {"_p_GPS_SolverOptions_CommonT_double_t", "GPS_SolverOptions_Common< double > *", 0, 0, (void*)0, 0};
26223
27468
  static swig_type_info _swigt__p_GPS_SolverT_double_t = {"_p_GPS_SolverT_double_t", "GPS_Solver< double > *", 0, 0, (void*)0, 0};
26224
- static swig_type_info _swigt__p_GPS_Solver_GeneralOptionsT_double_t = {"_p_GPS_Solver_GeneralOptionsT_double_t", "GPS_Solver_GeneralOptions< double > *", 0, 0, (void*)0, 0};
26225
27469
  static swig_type_info _swigt__p_GPS_SpaceNodeT_double_t = {"_p_GPS_SpaceNodeT_double_t", "GPS_SpaceNode< double >::self_t *|GPS_SpaceNode< double > *", 0, 0, (void*)0, 0};
26226
27470
  static swig_type_info _swigt__p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters = {"_p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters", "GPS_SpaceNode< double >::Ionospheric_UTC_Parameters *", 0, 0, (void*)0, 0};
26227
27471
  static swig_type_info _swigt__p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris = {"_p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris", "GPS_SpaceNode< double >::SatelliteProperties::Ephemeris *", 0, 0, (void*)0, 0};
@@ -26272,6 +27516,7 @@ static swig_type_info _swigt__p_u16_t = {"_p_u16_t", "u16_t *", 0, 0, (void*)0,
26272
27516
  static swig_type_info _swigt__p_u32_t = {"_p_u32_t", "u32_t *", 0, 0, (void*)0, 0};
26273
27517
  static swig_type_info _swigt__p_u8_t = {"_p_u8_t", "u8_t *", 0, 0, (void*)0, 0};
26274
27518
  static swig_type_info _swigt__p_uint_t = {"_p_uint_t", "uint_t *", 0, 0, (void*)0, 0};
27519
+ static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *", 0, 0, (void*)0, 0};
26275
27520
  static swig_type_info _swigt__p_xyz_t = {"_p_xyz_t", "xyz_t *", 0, 0, (void*)0, 0};
26276
27521
 
26277
27522
  static swig_type_info *swig_type_initial[] = {
@@ -26290,7 +27535,6 @@ static swig_type_info *swig_type_initial[] = {
26290
27535
  &_swigt__p_GPS_SolverOptionsT_double_t,
26291
27536
  &_swigt__p_GPS_SolverOptions_CommonT_double_t,
26292
27537
  &_swigt__p_GPS_SolverT_double_t,
26293
- &_swigt__p_GPS_Solver_GeneralOptionsT_double_t,
26294
27538
  &_swigt__p_GPS_SpaceNodeT_double_t,
26295
27539
  &_swigt__p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters,
26296
27540
  &_swigt__p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris,
@@ -26341,6 +27585,7 @@ static swig_type_info *swig_type_initial[] = {
26341
27585
  &_swigt__p_u32_t,
26342
27586
  &_swigt__p_u8_t,
26343
27587
  &_swigt__p_uint_t,
27588
+ &_swigt__p_unsigned_int,
26344
27589
  &_swigt__p_xyz_t,
26345
27590
  };
26346
27591
 
@@ -26359,7 +27604,6 @@ static swig_cast_info _swigc__p_GPS_MeasurementT_double_t[] = { {&_swigt__p_GPS
26359
27604
  static swig_cast_info _swigc__p_GPS_SolverOptionsT_double_t[] = { {&_swigt__p_GPS_SolverOptionsT_double_t, 0, 0, 0},{0, 0, 0, 0}};
26360
27605
  static swig_cast_info _swigc__p_GPS_SolverOptions_CommonT_double_t[] = { {&_swigt__p_GPS_SolverOptions_CommonT_double_t, 0, 0, 0}, {&_swigt__p_GPS_SolverOptionsT_double_t, _p_GPS_SolverOptionsT_double_tTo_p_GPS_SolverOptions_CommonT_double_t, 0, 0}, {&_swigt__p_SBAS_SolverOptionsT_double_t, _p_SBAS_SolverOptionsT_double_tTo_p_GPS_SolverOptions_CommonT_double_t, 0, 0}, {&_swigt__p_GLONASS_SolverOptionsT_double_t, _p_GLONASS_SolverOptionsT_double_tTo_p_GPS_SolverOptions_CommonT_double_t, 0, 0},{0, 0, 0, 0}};
26361
27606
  static swig_cast_info _swigc__p_GPS_SolverT_double_t[] = { {&_swigt__p_GPS_SolverT_double_t, 0, 0, 0},{0, 0, 0, 0}};
26362
- static swig_cast_info _swigc__p_GPS_Solver_GeneralOptionsT_double_t[] = { {&_swigt__p_GPS_Solver_GeneralOptionsT_double_t, 0, 0, 0},{0, 0, 0, 0}};
26363
27607
  static swig_cast_info _swigc__p_GPS_SpaceNodeT_double_t[] = { {&_swigt__p_GPS_SpaceNodeT_double_t, 0, 0, 0},{0, 0, 0, 0}};
26364
27608
  static swig_cast_info _swigc__p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters[] = { {&_swigt__p_GPS_Ionospheric_UTC_ParametersT_double_t, _p_GPS_Ionospheric_UTC_ParametersT_double_tTo_p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters, 0, 0}, {&_swigt__p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters, 0, 0, 0},{0, 0, 0, 0}};
26365
27609
  static swig_cast_info _swigc__p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris[] = { {&_swigt__p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris, 0, 0, 0}, {&_swigt__p_GPS_EphemerisT_double_t, _p_GPS_EphemerisT_double_tTo_p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris, 0, 0},{0, 0, 0, 0}};
@@ -26410,6 +27654,7 @@ static swig_cast_info _swigc__p_u16_t[] = { {&_swigt__p_u16_t, 0, 0, 0},{0, 0,
26410
27654
  static swig_cast_info _swigc__p_u32_t[] = { {&_swigt__p_u32_t, 0, 0, 0},{0, 0, 0, 0}};
26411
27655
  static swig_cast_info _swigc__p_u8_t[] = { {&_swigt__p_u8_t, 0, 0, 0},{0, 0, 0, 0}};
26412
27656
  static swig_cast_info _swigc__p_uint_t[] = { {&_swigt__p_uint_t, 0, 0, 0},{0, 0, 0, 0}};
27657
+ static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
26413
27658
  static swig_cast_info _swigc__p_xyz_t[] = { {&_swigt__p_xyz_t, 0, 0, 0},{0, 0, 0, 0}};
26414
27659
 
26415
27660
  static swig_cast_info *swig_cast_initial[] = {
@@ -26428,7 +27673,6 @@ static swig_cast_info *swig_cast_initial[] = {
26428
27673
  _swigc__p_GPS_SolverOptionsT_double_t,
26429
27674
  _swigc__p_GPS_SolverOptions_CommonT_double_t,
26430
27675
  _swigc__p_GPS_SolverT_double_t,
26431
- _swigc__p_GPS_Solver_GeneralOptionsT_double_t,
26432
27676
  _swigc__p_GPS_SpaceNodeT_double_t,
26433
27677
  _swigc__p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters,
26434
27678
  _swigc__p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris,
@@ -26479,6 +27723,7 @@ static swig_cast_info *swig_cast_initial[] = {
26479
27723
  _swigc__p_u32_t,
26480
27724
  _swigc__p_u8_t,
26481
27725
  _swigc__p_uint_t,
27726
+ _swigc__p_unsigned_int,
26482
27727
  _swigc__p_xyz_t,
26483
27728
  };
26484
27729
 
@@ -26864,6 +28109,7 @@ SWIGEXPORT void Init_GPS(void) {
26864
28109
  rb_define_method(SwigClassIonospheric_UTC_Parameters.klass, "delta_t_LSF=", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_delta_t_LSFe___), -1);
26865
28110
  rb_define_method(SwigClassIonospheric_UTC_Parameters.klass, "delta_t_LSF", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_delta_t_LSF), -1);
26866
28111
  rb_define_singleton_method(SwigClassIonospheric_UTC_Parameters.klass, "parse", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_parse), -1);
28112
+ rb_define_method(SwigClassIonospheric_UTC_Parameters.klass, "dump", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_dump), -1);
26867
28113
  SwigClassIonospheric_UTC_Parameters.mark = 0;
26868
28114
  SwigClassIonospheric_UTC_Parameters.destroy = (void (*)(void *)) free_GPS_Ionospheric_UTC_Parameters_Sl_double_Sg_;
26869
28115
  SwigClassIonospheric_UTC_Parameters.trackObjects = 0;
@@ -26876,6 +28122,9 @@ SWIGEXPORT void Init_GPS(void) {
26876
28122
  rb_define_method(SwigClassEphemeris.klass, "iode_subframe3", VALUEFUNC(_wrap_Ephemeris_iode_subframe3_get), -1);
26877
28123
  rb_define_method(SwigClassEphemeris.klass, "invalidate", VALUEFUNC(_wrap_Ephemeris_invalidate), -1);
26878
28124
  rb_define_method(SwigClassEphemeris.klass, "consistent?", VALUEFUNC(_wrap_Ephemeris_consistentq___), -1);
28125
+ rb_define_method(SwigClassEphemeris.klass, "valid?", VALUEFUNC(_wrap_Ephemeris_validq___), -1);
28126
+ rb_define_method(SwigClassEphemeris.klass, "t_clock", VALUEFUNC(_wrap_Ephemeris_t_clock), -1);
28127
+ rb_define_method(SwigClassEphemeris.klass, "t_ephemeris", VALUEFUNC(_wrap_Ephemeris_t_ephemeris), -1);
26879
28128
  rb_define_method(SwigClassEphemeris.klass, "svid=", VALUEFUNC(_wrap_Ephemeris_svide___), -1);
26880
28129
  rb_define_method(SwigClassEphemeris.klass, "svid", VALUEFUNC(_wrap_Ephemeris_svid), -1);
26881
28130
  rb_define_method(SwigClassEphemeris.klass, "WN=", VALUEFUNC(_wrap_Ephemeris_WNe___), -1);
@@ -26933,6 +28182,9 @@ SWIGEXPORT void Init_GPS(void) {
26933
28182
  rb_define_method(SwigClassEphemeris.klass, "dot_i0=", VALUEFUNC(_wrap_Ephemeris_dot_i0e___), -1);
26934
28183
  rb_define_method(SwigClassEphemeris.klass, "dot_i0", VALUEFUNC(_wrap_Ephemeris_dot_i0), -1);
26935
28184
  rb_define_method(SwigClassEphemeris.klass, "parse", VALUEFUNC(_wrap_Ephemeris_parse), -1);
28185
+ rb_define_method(SwigClassEphemeris.klass, "dump", VALUEFUNC(_wrap_Ephemeris_dump), -1);
28186
+ rb_define_method(SwigClassEphemeris.klass, "parse_almanac", VALUEFUNC(_wrap_Ephemeris_parse_almanac), -1);
28187
+ rb_define_method(SwigClassEphemeris.klass, "dump_almanac", VALUEFUNC(_wrap_Ephemeris_dump_almanac), -1);
26936
28188
  rb_define_method(SwigClassEphemeris.klass, "constellation", VALUEFUNC(_wrap_Ephemeris_constellation), -1);
26937
28189
  SwigClassEphemeris.mark = 0;
26938
28190
  SwigClassEphemeris.destroy = (void (*)(void *)) free_GPS_Ephemeris_Sl_double_Sg_;
@@ -27001,6 +28253,26 @@ SWIGEXPORT void Init_GPS(void) {
27001
28253
  rb_define_const(SwigClassMeasurement.klass, "L1_SIGNAL_STRENGTH_dBHz", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L1_SIGNAL_STRENGTH_dBHz)));
27002
28254
  rb_define_const(SwigClassMeasurement.klass, "L1_LOCK_SEC", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L1_LOCK_SEC)));
27003
28255
  rb_define_const(SwigClassMeasurement.klass, "L1_FREQUENCY", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L1_FREQUENCY)));
28256
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_PSEUDORANGE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_PSEUDORANGE)));
28257
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_PSEUDORANGE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_PSEUDORANGE)));
28258
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_PSEUDORANGE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_PSEUDORANGE_SIGMA)));
28259
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_PSEUDORANGE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_PSEUDORANGE_SIGMA)));
28260
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_CARRIER_PHASE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_CARRIER_PHASE)));
28261
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_CARRIER_PHASE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_CARRIER_PHASE)));
28262
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_CARRIER_PHASE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_CARRIER_PHASE_SIGMA)));
28263
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_CARRIER_PHASE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_CARRIER_PHASE_SIGMA)));
28264
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_DOPPLER", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_DOPPLER)));
28265
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_DOPPLER", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_DOPPLER)));
28266
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_DOPPLER_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_DOPPLER_SIGMA)));
28267
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_DOPPLER_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_DOPPLER_SIGMA)));
28268
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_RANGE_RATE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_RANGE_RATE)));
28269
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_RANGE_RATE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_RANGE_RATE)));
28270
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_RANGE_RATE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_RANGE_RATE_SIGMA)));
28271
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_RANGE_RATE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_RANGE_RATE_SIGMA)));
28272
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_SIGNAL_STRENGTH_dBHz", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_SIGNAL_STRENGTH_dBHz)));
28273
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_SIGNAL_STRENGTH_dBHz", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_SIGNAL_STRENGTH_dBHz)));
28274
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_LOCK_SEC", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_LOCK_SEC)));
28275
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_LOCK_SEC", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_LOCK_SEC)));
27004
28276
  rb_define_const(SwigClassMeasurement.klass, "ITEMS_PREDEFINED", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::ITEMS_PREDEFINED)));
27005
28277
  rb_define_method(SwigClassMeasurement.klass, "add", VALUEFUNC(_wrap_Measurement_add), -1);
27006
28278
  rb_define_method(SwigClassMeasurement.klass, "each", VALUEFUNC(_wrap_Measurement_each), -1);
@@ -27012,7 +28284,6 @@ SWIGEXPORT void Init_GPS(void) {
27012
28284
  SwigClassSolverOptionsCommon.klass = rb_define_class_under(mGPS, "SolverOptionsCommon", rb_cObject);
27013
28285
  SWIG_TypeClientData(SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, (void *) &SwigClassSolverOptionsCommon);
27014
28286
  rb_undef_alloc_func(SwigClassSolverOptionsCommon.klass);
27015
- rb_define_method(SwigClassSolverOptionsCommon.klass, "cast_general", VALUEFUNC(_wrap_SolverOptionsCommon_cast_general), -1);
27016
28287
  rb_define_method(SwigClassSolverOptionsCommon.klass, "elevation_mask=", VALUEFUNC(_wrap_SolverOptionsCommon_elevation_maske___), -1);
27017
28288
  rb_define_method(SwigClassSolverOptionsCommon.klass, "elevation_mask", VALUEFUNC(_wrap_SolverOptionsCommon_elevation_mask), -1);
27018
28289
  rb_define_method(SwigClassSolverOptionsCommon.klass, "residual_mask=", VALUEFUNC(_wrap_SolverOptionsCommon_residual_maske___), -1);
@@ -27028,6 +28299,8 @@ SWIGEXPORT void Init_GPS(void) {
27028
28299
  rb_define_method(SwigClassSolverOptions.klass, "exclude", VALUEFUNC(_wrap_SolverOptions_exclude), -1);
27029
28300
  rb_define_method(SwigClassSolverOptions.klass, "include", VALUEFUNC(_wrap_SolverOptions_include), -1);
27030
28301
  rb_define_method(SwigClassSolverOptions.klass, "excluded", VALUEFUNC(_wrap_SolverOptions_excluded), -1);
28302
+ rb_define_method(SwigClassSolverOptions.klass, "exclude_L2C?", VALUEFUNC(_wrap_SolverOptions_exclude_L2Cq___), -1);
28303
+ rb_define_method(SwigClassSolverOptions.klass, "exclude_L2C=", VALUEFUNC(_wrap_SolverOptions_exclude_L2Ce___), -1);
27031
28304
  SwigClassSolverOptions.mark = 0;
27032
28305
  SwigClassSolverOptions.destroy = (void (*)(void *)) free_GPS_SolverOptions_Sl_double_Sg_;
27033
28306
  SwigClassSolverOptions.trackObjects = 0;
@@ -27056,6 +28329,8 @@ SWIGEXPORT void Init_GPS(void) {
27056
28329
  SWIG_TypeClientData(SWIGTYPE_p_SBAS_EphemerisT_double_t, (void *) &SwigClassEphemeris_SBAS);
27057
28330
  rb_define_alloc_func(SwigClassEphemeris_SBAS.klass, _wrap_Ephemeris_SBAS_allocate);
27058
28331
  rb_define_method(SwigClassEphemeris_SBAS.klass, "initialize", VALUEFUNC(_wrap_new_Ephemeris_SBAS), -1);
28332
+ rb_define_method(SwigClassEphemeris_SBAS.klass, "valid?", VALUEFUNC(_wrap_Ephemeris_SBAS_validq___), -1);
28333
+ rb_define_method(SwigClassEphemeris_SBAS.klass, "t_applicable", VALUEFUNC(_wrap_Ephemeris_SBAS_t_applicable), -1);
27059
28334
  rb_define_method(SwigClassEphemeris_SBAS.klass, "svid=", VALUEFUNC(_wrap_Ephemeris_SBAS_svide___), -1);
27060
28335
  rb_define_method(SwigClassEphemeris_SBAS.klass, "svid", VALUEFUNC(_wrap_Ephemeris_SBAS_svid), -1);
27061
28336
  rb_define_method(SwigClassEphemeris_SBAS.klass, "WN=", VALUEFUNC(_wrap_Ephemeris_SBAS_WNe___), -1);
@@ -27086,6 +28361,7 @@ SWIGEXPORT void Init_GPS(void) {
27086
28361
  rb_define_method(SwigClassEphemeris_SBAS.klass, "a_Gf0", VALUEFUNC(_wrap_Ephemeris_SBAS_a_Gf0), -1);
27087
28362
  rb_define_method(SwigClassEphemeris_SBAS.klass, "a_Gf1=", VALUEFUNC(_wrap_Ephemeris_SBAS_a_Gf1e___), -1);
27088
28363
  rb_define_method(SwigClassEphemeris_SBAS.klass, "a_Gf1", VALUEFUNC(_wrap_Ephemeris_SBAS_a_Gf1), -1);
28364
+ rb_define_method(SwigClassEphemeris_SBAS.klass, "dump", VALUEFUNC(_wrap_Ephemeris_SBAS_dump), -1);
27089
28365
  rb_define_method(SwigClassEphemeris_SBAS.klass, "constellation", VALUEFUNC(_wrap_Ephemeris_SBAS_constellation), -1);
27090
28366
  SwigClassEphemeris_SBAS.mark = 0;
27091
28367
  SwigClassEphemeris_SBAS.destroy = (void (*)(void *)) free_SBAS_Ephemeris_Sl_double_Sg_;
@@ -27173,6 +28449,7 @@ SWIGEXPORT void Init_GPS(void) {
27173
28449
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "raw", VALUEFUNC(_wrap_Ephemeris_GLONASS_raw_get), -1);
27174
28450
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "invalidate", VALUEFUNC(_wrap_Ephemeris_GLONASS_invalidate), -1);
27175
28451
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "consistent?", VALUEFUNC(_wrap_Ephemeris_GLONASS_consistentq___), -1);
28452
+ rb_define_method(SwigClassEphemeris_GLONASS.klass, "valid?", VALUEFUNC(_wrap_Ephemeris_GLONASS_validq___), -1);
27176
28453
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "svid=", VALUEFUNC(_wrap_Ephemeris_GLONASS_svide___), -1);
27177
28454
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "svid", VALUEFUNC(_wrap_Ephemeris_GLONASS_svid), -1);
27178
28455
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "freq_ch=", VALUEFUNC(_wrap_Ephemeris_GLONASS_freq_che___), -1);
@@ -27233,6 +28510,7 @@ SWIGEXPORT void Init_GPS(void) {
27233
28510
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "frequency_L2", VALUEFUNC(_wrap_Ephemeris_GLONASS_frequency_L2), -1);
27234
28511
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "base_time", VALUEFUNC(_wrap_Ephemeris_GLONASS_base_time), -1);
27235
28512
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "parse", VALUEFUNC(_wrap_Ephemeris_GLONASS_parse), -1);
28513
+ rb_define_method(SwigClassEphemeris_GLONASS.klass, "dump", VALUEFUNC(_wrap_Ephemeris_GLONASS_dump), -1);
27236
28514
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "constellation", VALUEFUNC(_wrap_Ephemeris_GLONASS_constellation), -1);
27237
28515
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "in_range?", VALUEFUNC(_wrap_Ephemeris_GLONASS_in_rangeq___), -1);
27238
28516
  SwigClassEphemeris_GLONASS.mark = 0;