View | Details | Raw Unified | Return to bug 1276
Collapse All | Expand All

(-)a/src/wifi/bindings/modulegen__gcc_ILP32.py (-27 / +43 lines)
 Lines 176-181    Link Here 
176
    module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
176
    module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
177
    ## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
177
    ## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
178
    module.add_class('TagBuffer', import_from_module='ns.network')
178
    module.add_class('TagBuffer', import_from_module='ns.network')
179
    ## nstime.h (module 'core'): ns3::TimeWithUnit [class]
180
    module.add_class('TimeWithUnit', import_from_module='ns.core')
179
    ## type-id.h (module 'core'): ns3::TypeId [class]
181
    ## type-id.h (module 'core'): ns3::TypeId [class]
180
    module.add_class('TypeId', import_from_module='ns.core')
182
    module.add_class('TypeId', import_from_module='ns.core')
181
    ## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
183
    ## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
 Lines 572-577    Link Here 
572
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >', u'ns3::WifiMcsList')
574
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >', u'ns3::WifiMcsList')
573
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >*', u'ns3::WifiMcsList*')
575
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >*', u'ns3::WifiMcsList*')
574
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >&', u'ns3::WifiMcsList&')
576
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >&', u'ns3::WifiMcsList&')
577
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >', u'ns3::MinstrelRate')
578
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >*', u'ns3::MinstrelRate*')
579
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >&', u'ns3::MinstrelRate&')
575
    typehandlers.add_type_alias(u'uint8_t', u'ns3::WifiInformationElementId')
580
    typehandlers.add_type_alias(u'uint8_t', u'ns3::WifiInformationElementId')
576
    typehandlers.add_type_alias(u'uint8_t*', u'ns3::WifiInformationElementId*')
581
    typehandlers.add_type_alias(u'uint8_t*', u'ns3::WifiInformationElementId*')
577
    typehandlers.add_type_alias(u'uint8_t&', u'ns3::WifiInformationElementId&')
582
    typehandlers.add_type_alias(u'uint8_t&', u'ns3::WifiInformationElementId&')
 Lines 582-590    Link Here 
582
    typehandlers.add_type_alias(u'ns3::Vector3D*', u'ns3::Vector*')
587
    typehandlers.add_type_alias(u'ns3::Vector3D*', u'ns3::Vector*')
583
    typehandlers.add_type_alias(u'ns3::Vector3D&', u'ns3::Vector&')
588
    typehandlers.add_type_alias(u'ns3::Vector3D&', u'ns3::Vector&')
584
    module.add_typedef(root_module['ns3::Vector3D'], 'Vector')
589
    module.add_typedef(root_module['ns3::Vector3D'], 'Vector')
585
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >', u'ns3::MinstrelRate')
586
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >*', u'ns3::MinstrelRate*')
587
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >&', u'ns3::MinstrelRate&')
588
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >', u'ns3::WifiModeList')
590
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >', u'ns3::WifiModeList')
589
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >*', u'ns3::WifiModeList*')
591
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >*', u'ns3::WifiModeList*')
590
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >&', u'ns3::WifiModeList&')
592
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >&', u'ns3::WifiModeList&')
 Lines 719-724    Link Here 
719
    register_Ns3StatusCode_methods(root_module, root_module['ns3::StatusCode'])
721
    register_Ns3StatusCode_methods(root_module, root_module['ns3::StatusCode'])
720
    register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
722
    register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
721
    register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
723
    register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
724
    register_Ns3TimeWithUnit_methods(root_module, root_module['ns3::TimeWithUnit'])
722
    register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
725
    register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
723
    register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
726
    register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
724
    register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
727
    register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
 Lines 3740-3745    Link Here 
3740
                   [param('uint8_t', 'v')])
3743
                   [param('uint8_t', 'v')])
3741
    return
3744
    return
3742
3745
3746
def register_Ns3TimeWithUnit_methods(root_module, cls):
3747
    cls.add_output_stream_operator()
3748
    ## nstime.h (module 'core'): ns3::TimeWithUnit::TimeWithUnit(ns3::TimeWithUnit const & arg0) [copy constructor]
3749
    cls.add_constructor([param('ns3::TimeWithUnit const &', 'arg0')])
3750
    ## nstime.h (module 'core'): ns3::TimeWithUnit::TimeWithUnit(ns3::Time const time, ns3::Time::Unit const unit) [constructor]
3751
    cls.add_constructor([param('ns3::Time const', 'time'), param('ns3::Time::Unit const', 'unit')])
3752
    return
3753
3743
def register_Ns3TypeId_methods(root_module, cls):
3754
def register_Ns3TypeId_methods(root_module, cls):
3744
    cls.add_binary_comparison_operator('!=')
3755
    cls.add_binary_comparison_operator('!=')
3745
    cls.add_binary_comparison_operator('<')
3756
    cls.add_binary_comparison_operator('<')
 Lines 4348-4354    Link Here 
4348
    return
4359
    return
4349
4360
4350
def register_Ns3Int64x64_t_methods(root_module, cls):
4361
def register_Ns3Int64x64_t_methods(root_module, cls):
4351
    cls.add_binary_comparison_operator('<=')
4352
    cls.add_binary_comparison_operator('!=')
4362
    cls.add_binary_comparison_operator('!=')
4353
    cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', u'right'))
4363
    cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', u'right'))
4354
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
4364
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
 Lines 4362-4367    Link Here 
4362
    cls.add_inplace_numeric_operator('-=', param('ns3::int64x64_t const &', u'right'))
4372
    cls.add_inplace_numeric_operator('-=', param('ns3::int64x64_t const &', u'right'))
4363
    cls.add_inplace_numeric_operator('/=', param('ns3::int64x64_t const &', u'right'))
4373
    cls.add_inplace_numeric_operator('/=', param('ns3::int64x64_t const &', u'right'))
4364
    cls.add_output_stream_operator()
4374
    cls.add_output_stream_operator()
4375
    cls.add_binary_comparison_operator('<=')
4365
    cls.add_binary_comparison_operator('==')
4376
    cls.add_binary_comparison_operator('==')
4366
    cls.add_binary_comparison_operator('>=')
4377
    cls.add_binary_comparison_operator('>=')
4367
    ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t() [constructor]
4378
    ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t() [constructor]
 Lines 5665-5671    Link Here 
5665
    return
5676
    return
5666
5677
5667
def register_Ns3Time_methods(root_module, cls):
5678
def register_Ns3Time_methods(root_module, cls):
5668
    cls.add_binary_comparison_operator('<=')
5669
    cls.add_binary_comparison_operator('!=')
5679
    cls.add_binary_comparison_operator('!=')
5670
    cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', u'right'))
5680
    cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', u'right'))
5671
    cls.add_binary_numeric_operator('*', root_module['ns3::Time'], root_module['ns3::Time'], param('int64_t const &', u'right'))
5681
    cls.add_binary_numeric_operator('*', root_module['ns3::Time'], root_module['ns3::Time'], param('int64_t const &', u'right'))
 Lines 5676-5681    Link Here 
5676
    cls.add_binary_comparison_operator('>')
5686
    cls.add_binary_comparison_operator('>')
5677
    cls.add_inplace_numeric_operator('-=', param('ns3::Time const &', u'right'))
5687
    cls.add_inplace_numeric_operator('-=', param('ns3::Time const &', u'right'))
5678
    cls.add_output_stream_operator()
5688
    cls.add_output_stream_operator()
5689
    cls.add_binary_comparison_operator('<=')
5679
    cls.add_binary_comparison_operator('==')
5690
    cls.add_binary_comparison_operator('==')
5680
    cls.add_binary_comparison_operator('>=')
5691
    cls.add_binary_comparison_operator('>=')
5681
    ## nstime.h (module 'core'): ns3::Time::Time() [constructor]
5692
    ## nstime.h (module 'core'): ns3::Time::Time() [constructor]
 Lines 5700-5705    Link Here 
5700
    cls.add_constructor([param('std::string const &', 's')])
5711
    cls.add_constructor([param('std::string const &', 's')])
5701
    ## nstime.h (module 'core'): ns3::Time::Time(ns3::int64x64_t const & value) [constructor]
5712
    ## nstime.h (module 'core'): ns3::Time::Time(ns3::int64x64_t const & value) [constructor]
5702
    cls.add_constructor([param('ns3::int64x64_t const &', 'value')])
5713
    cls.add_constructor([param('ns3::int64x64_t const &', 'value')])
5714
    ## nstime.h (module 'core'): ns3::TimeWithUnit ns3::Time::As(ns3::Time::Unit const unit) const [member function]
5715
    cls.add_method('As', 
5716
                   'ns3::TimeWithUnit', 
5717
                   [param('ns3::Time::Unit const', 'unit')], 
5718
                   is_const=True)
5703
    ## nstime.h (module 'core'): int ns3::Time::Compare(ns3::Time const & o) const [member function]
5719
    ## nstime.h (module 'core'): int ns3::Time::Compare(ns3::Time const & o) const [member function]
5704
    cls.add_method('Compare', 
5720
    cls.add_method('Compare', 
5705
                   'int', 
5721
                   'int', 
 Lines 10856-10868    Link Here 
10856
    return
10872
    return
10857
10873
10858
def register_Ns3ItuR1411LosPropagationLossModel_methods(root_module, cls):
10874
def register_Ns3ItuR1411LosPropagationLossModel_methods(root_module, cls):
10875
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::ItuR1411LosPropagationLossModel::GetTypeId() [member function]
10876
    cls.add_method('GetTypeId', 
10877
                   'ns3::TypeId', 
10878
                   [], 
10879
                   is_static=True)
10859
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): ns3::ItuR1411LosPropagationLossModel::ItuR1411LosPropagationLossModel() [constructor]
10880
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): ns3::ItuR1411LosPropagationLossModel::ItuR1411LosPropagationLossModel() [constructor]
10860
    cls.add_constructor([])
10881
    cls.add_constructor([])
10861
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::ItuR1411LosPropagationLossModel::GetTypeId() [member function]
10862
    cls.add_method('GetTypeId', 
10863
                   'ns3::TypeId', 
10864
                   [], 
10865
                   is_static=True)
10866
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): void ns3::ItuR1411LosPropagationLossModel::SetFrequency(double freq) [member function]
10882
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): void ns3::ItuR1411LosPropagationLossModel::SetFrequency(double freq) [member function]
10867
    cls.add_method('SetFrequency', 
10883
    cls.add_method('SetFrequency', 
10868
                   'void', 
10884
                   'void', 
 Lines 10885-10897    Link Here 
10885
    return
10901
    return
10886
10902
10887
def register_Ns3ItuR1411NlosOverRooftopPropagationLossModel_methods(root_module, cls):
10903
def register_Ns3ItuR1411NlosOverRooftopPropagationLossModel_methods(root_module, cls):
10904
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::ItuR1411NlosOverRooftopPropagationLossModel::GetTypeId() [member function]
10905
    cls.add_method('GetTypeId', 
10906
                   'ns3::TypeId', 
10907
                   [], 
10908
                   is_static=True)
10888
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): ns3::ItuR1411NlosOverRooftopPropagationLossModel::ItuR1411NlosOverRooftopPropagationLossModel() [constructor]
10909
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): ns3::ItuR1411NlosOverRooftopPropagationLossModel::ItuR1411NlosOverRooftopPropagationLossModel() [constructor]
10889
    cls.add_constructor([])
10910
    cls.add_constructor([])
10890
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::ItuR1411NlosOverRooftopPropagationLossModel::GetTypeId() [member function]
10891
    cls.add_method('GetTypeId', 
10892
                   'ns3::TypeId', 
10893
                   [], 
10894
                   is_static=True)
10895
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): void ns3::ItuR1411NlosOverRooftopPropagationLossModel::SetFrequency(double freq) [member function]
10911
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): void ns3::ItuR1411NlosOverRooftopPropagationLossModel::SetFrequency(double freq) [member function]
10896
    cls.add_method('SetFrequency', 
10912
    cls.add_method('SetFrequency', 
10897
                   'void', 
10913
                   'void', 
 Lines 10967-10979    Link Here 
10967
    return
10983
    return
10968
10984
10969
def register_Ns3Kun2600MhzPropagationLossModel_methods(root_module, cls):
10985
def register_Ns3Kun2600MhzPropagationLossModel_methods(root_module, cls):
10986
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::Kun2600MhzPropagationLossModel::GetTypeId() [member function]
10987
    cls.add_method('GetTypeId', 
10988
                   'ns3::TypeId', 
10989
                   [], 
10990
                   is_static=True)
10970
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): ns3::Kun2600MhzPropagationLossModel::Kun2600MhzPropagationLossModel() [constructor]
10991
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): ns3::Kun2600MhzPropagationLossModel::Kun2600MhzPropagationLossModel() [constructor]
10971
    cls.add_constructor([])
10992
    cls.add_constructor([])
10972
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::Kun2600MhzPropagationLossModel::GetTypeId() [member function]
10973
    cls.add_method('GetTypeId', 
10974
                   'ns3::TypeId', 
10975
                   [], 
10976
                   is_static=True)
10977
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): double ns3::Kun2600MhzPropagationLossModel::GetLoss(ns3::Ptr<ns3::MobilityModel> a, ns3::Ptr<ns3::MobilityModel> b) const [member function]
10993
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): double ns3::Kun2600MhzPropagationLossModel::GetLoss(ns3::Ptr<ns3::MobilityModel> a, ns3::Ptr<ns3::MobilityModel> b) const [member function]
10978
    cls.add_method('GetLoss', 
10994
    cls.add_method('GetLoss', 
10979
                   'double', 
10995
                   'double', 
 Lines 11856-11868    Link Here 
11856
    return
11872
    return
11857
11873
11858
def register_Ns3OkumuraHataPropagationLossModel_methods(root_module, cls):
11874
def register_Ns3OkumuraHataPropagationLossModel_methods(root_module, cls):
11875
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::OkumuraHataPropagationLossModel::GetTypeId() [member function]
11876
    cls.add_method('GetTypeId', 
11877
                   'ns3::TypeId', 
11878
                   [], 
11879
                   is_static=True)
11859
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): ns3::OkumuraHataPropagationLossModel::OkumuraHataPropagationLossModel() [constructor]
11880
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): ns3::OkumuraHataPropagationLossModel::OkumuraHataPropagationLossModel() [constructor]
11860
    cls.add_constructor([])
11881
    cls.add_constructor([])
11861
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::OkumuraHataPropagationLossModel::GetTypeId() [member function]
11862
    cls.add_method('GetTypeId', 
11863
                   'ns3::TypeId', 
11864
                   [], 
11865
                   is_static=True)
11866
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): double ns3::OkumuraHataPropagationLossModel::GetLoss(ns3::Ptr<ns3::MobilityModel> a, ns3::Ptr<ns3::MobilityModel> b) const [member function]
11882
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): double ns3::OkumuraHataPropagationLossModel::GetLoss(ns3::Ptr<ns3::MobilityModel> a, ns3::Ptr<ns3::MobilityModel> b) const [member function]
11867
    cls.add_method('GetLoss', 
11883
    cls.add_method('GetLoss', 
11868
                   'double', 
11884
                   'double', 
 Lines 12139-12148    Link Here 
12139
                   'uint32_t', 
12155
                   'uint32_t', 
12140
                   [param('uint8_t *', 'buffer'), param('uint32_t', 'maxSize')], 
12156
                   [param('uint8_t *', 'buffer'), param('uint32_t', 'maxSize')], 
12141
                   is_const=True)
12157
                   is_const=True)
12142
    ## packet.h (module 'network'): void ns3::Packet::SetNixVector(ns3::Ptr<ns3::NixVector> arg0) [member function]
12158
    ## packet.h (module 'network'): void ns3::Packet::SetNixVector(ns3::Ptr<ns3::NixVector> nixVector) [member function]
12143
    cls.add_method('SetNixVector', 
12159
    cls.add_method('SetNixVector', 
12144
                   'void', 
12160
                   'void', 
12145
                   [param('ns3::Ptr< ns3::NixVector >', 'arg0')])
12161
                   [param('ns3::Ptr< ns3::NixVector >', 'nixVector')])
12146
    return
12162
    return
12147
12163
12148
def register_Ns3ParetoRandomVariable_methods(root_module, cls):
12164
def register_Ns3ParetoRandomVariable_methods(root_module, cls):
(-)a/src/wifi/bindings/modulegen__gcc_LP64.py (-29 / +45 lines)
 Lines 176-181    Link Here 
176
    module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
176
    module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
177
    ## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
177
    ## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
178
    module.add_class('TagBuffer', import_from_module='ns.network')
178
    module.add_class('TagBuffer', import_from_module='ns.network')
179
    ## nstime.h (module 'core'): ns3::TimeWithUnit [class]
180
    module.add_class('TimeWithUnit', import_from_module='ns.core')
179
    ## type-id.h (module 'core'): ns3::TypeId [class]
181
    ## type-id.h (module 'core'): ns3::TypeId [class]
180
    module.add_class('TypeId', import_from_module='ns.core')
182
    module.add_class('TypeId', import_from_module='ns.core')
181
    ## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
183
    ## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
 Lines 572-577    Link Here 
572
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >', u'ns3::WifiMcsList')
574
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >', u'ns3::WifiMcsList')
573
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >*', u'ns3::WifiMcsList*')
575
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >*', u'ns3::WifiMcsList*')
574
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >&', u'ns3::WifiMcsList&')
576
    typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >&', u'ns3::WifiMcsList&')
577
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >', u'ns3::MinstrelRate')
578
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >*', u'ns3::MinstrelRate*')
579
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >&', u'ns3::MinstrelRate&')
575
    typehandlers.add_type_alias(u'uint8_t', u'ns3::WifiInformationElementId')
580
    typehandlers.add_type_alias(u'uint8_t', u'ns3::WifiInformationElementId')
576
    typehandlers.add_type_alias(u'uint8_t*', u'ns3::WifiInformationElementId*')
581
    typehandlers.add_type_alias(u'uint8_t*', u'ns3::WifiInformationElementId*')
577
    typehandlers.add_type_alias(u'uint8_t&', u'ns3::WifiInformationElementId&')
582
    typehandlers.add_type_alias(u'uint8_t&', u'ns3::WifiInformationElementId&')
 Lines 582-590    Link Here 
582
    typehandlers.add_type_alias(u'ns3::Vector3D*', u'ns3::Vector*')
587
    typehandlers.add_type_alias(u'ns3::Vector3D*', u'ns3::Vector*')
583
    typehandlers.add_type_alias(u'ns3::Vector3D&', u'ns3::Vector&')
588
    typehandlers.add_type_alias(u'ns3::Vector3D&', u'ns3::Vector&')
584
    module.add_typedef(root_module['ns3::Vector3D'], 'Vector')
589
    module.add_typedef(root_module['ns3::Vector3D'], 'Vector')
585
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >', u'ns3::MinstrelRate')
586
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >*', u'ns3::MinstrelRate*')
587
    typehandlers.add_type_alias(u'std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >&', u'ns3::MinstrelRate&')
588
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >', u'ns3::WifiModeList')
590
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >', u'ns3::WifiModeList')
589
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >*', u'ns3::WifiModeList*')
591
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >*', u'ns3::WifiModeList*')
590
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >&', u'ns3::WifiModeList&')
592
    typehandlers.add_type_alias(u'std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >&', u'ns3::WifiModeList&')
 Lines 719-724    Link Here 
719
    register_Ns3StatusCode_methods(root_module, root_module['ns3::StatusCode'])
721
    register_Ns3StatusCode_methods(root_module, root_module['ns3::StatusCode'])
720
    register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
722
    register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
721
    register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
723
    register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
724
    register_Ns3TimeWithUnit_methods(root_module, root_module['ns3::TimeWithUnit'])
722
    register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
725
    register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
723
    register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
726
    register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
724
    register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
727
    register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
 Lines 3740-3745    Link Here 
3740
                   [param('uint8_t', 'v')])
3743
                   [param('uint8_t', 'v')])
3741
    return
3744
    return
3742
3745
3746
def register_Ns3TimeWithUnit_methods(root_module, cls):
3747
    cls.add_output_stream_operator()
3748
    ## nstime.h (module 'core'): ns3::TimeWithUnit::TimeWithUnit(ns3::TimeWithUnit const & arg0) [copy constructor]
3749
    cls.add_constructor([param('ns3::TimeWithUnit const &', 'arg0')])
3750
    ## nstime.h (module 'core'): ns3::TimeWithUnit::TimeWithUnit(ns3::Time const time, ns3::Time::Unit const unit) [constructor]
3751
    cls.add_constructor([param('ns3::Time const', 'time'), param('ns3::Time::Unit const', 'unit')])
3752
    return
3753
3743
def register_Ns3TypeId_methods(root_module, cls):
3754
def register_Ns3TypeId_methods(root_module, cls):
3744
    cls.add_binary_comparison_operator('!=')
3755
    cls.add_binary_comparison_operator('!=')
3745
    cls.add_binary_comparison_operator('<')
3756
    cls.add_binary_comparison_operator('<')
 Lines 4348-4356    Link Here 
4348
    return
4359
    return
4349
4360
4350
def register_Ns3Int64x64_t_methods(root_module, cls):
4361
def register_Ns3Int64x64_t_methods(root_module, cls):
4351
    cls.add_binary_comparison_operator('<=')
4362
    cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', u'right'))
4352
    cls.add_binary_comparison_operator('!=')
4363
    cls.add_binary_comparison_operator('!=')
4353
    cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', u'right'))
4354
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
4364
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
4355
    cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
4365
    cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
4356
    cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
4366
    cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
 Lines 4362-4367    Link Here 
4362
    cls.add_inplace_numeric_operator('-=', param('ns3::int64x64_t const &', u'right'))
4372
    cls.add_inplace_numeric_operator('-=', param('ns3::int64x64_t const &', u'right'))
4363
    cls.add_inplace_numeric_operator('/=', param('ns3::int64x64_t const &', u'right'))
4373
    cls.add_inplace_numeric_operator('/=', param('ns3::int64x64_t const &', u'right'))
4364
    cls.add_output_stream_operator()
4374
    cls.add_output_stream_operator()
4375
    cls.add_binary_comparison_operator('<=')
4365
    cls.add_binary_comparison_operator('==')
4376
    cls.add_binary_comparison_operator('==')
4366
    cls.add_binary_comparison_operator('>=')
4377
    cls.add_binary_comparison_operator('>=')
4367
    ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t() [constructor]
4378
    ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t() [constructor]
 Lines 5665-5673    Link Here 
5665
    return
5676
    return
5666
5677
5667
def register_Ns3Time_methods(root_module, cls):
5678
def register_Ns3Time_methods(root_module, cls):
5668
    cls.add_binary_comparison_operator('<=')
5679
    cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', u'right'))
5669
    cls.add_binary_comparison_operator('!=')
5680
    cls.add_binary_comparison_operator('!=')
5670
    cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', u'right'))
5671
    cls.add_binary_numeric_operator('*', root_module['ns3::Time'], root_module['ns3::Time'], param('int64_t const &', u'right'))
5681
    cls.add_binary_numeric_operator('*', root_module['ns3::Time'], root_module['ns3::Time'], param('int64_t const &', u'right'))
5672
    cls.add_binary_numeric_operator('+', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', u'right'))
5682
    cls.add_binary_numeric_operator('+', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', u'right'))
5673
    cls.add_binary_numeric_operator('-', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', u'right'))
5683
    cls.add_binary_numeric_operator('-', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', u'right'))
 Lines 5676-5681    Link Here 
5676
    cls.add_binary_comparison_operator('>')
5686
    cls.add_binary_comparison_operator('>')
5677
    cls.add_inplace_numeric_operator('-=', param('ns3::Time const &', u'right'))
5687
    cls.add_inplace_numeric_operator('-=', param('ns3::Time const &', u'right'))
5678
    cls.add_output_stream_operator()
5688
    cls.add_output_stream_operator()
5689
    cls.add_binary_comparison_operator('<=')
5679
    cls.add_binary_comparison_operator('==')
5690
    cls.add_binary_comparison_operator('==')
5680
    cls.add_binary_comparison_operator('>=')
5691
    cls.add_binary_comparison_operator('>=')
5681
    ## nstime.h (module 'core'): ns3::Time::Time() [constructor]
5692
    ## nstime.h (module 'core'): ns3::Time::Time() [constructor]
 Lines 5700-5705    Link Here 
5700
    cls.add_constructor([param('std::string const &', 's')])
5711
    cls.add_constructor([param('std::string const &', 's')])
5701
    ## nstime.h (module 'core'): ns3::Time::Time(ns3::int64x64_t const & value) [constructor]
5712
    ## nstime.h (module 'core'): ns3::Time::Time(ns3::int64x64_t const & value) [constructor]
5702
    cls.add_constructor([param('ns3::int64x64_t const &', 'value')])
5713
    cls.add_constructor([param('ns3::int64x64_t const &', 'value')])
5714
    ## nstime.h (module 'core'): ns3::TimeWithUnit ns3::Time::As(ns3::Time::Unit const unit) const [member function]
5715
    cls.add_method('As', 
5716
                   'ns3::TimeWithUnit', 
5717
                   [param('ns3::Time::Unit const', 'unit')], 
5718
                   is_const=True)
5703
    ## nstime.h (module 'core'): int ns3::Time::Compare(ns3::Time const & o) const [member function]
5719
    ## nstime.h (module 'core'): int ns3::Time::Compare(ns3::Time const & o) const [member function]
5704
    cls.add_method('Compare', 
5720
    cls.add_method('Compare', 
5705
                   'int', 
5721
                   'int', 
 Lines 10856-10868    Link Here 
10856
    return
10872
    return
10857
10873
10858
def register_Ns3ItuR1411LosPropagationLossModel_methods(root_module, cls):
10874
def register_Ns3ItuR1411LosPropagationLossModel_methods(root_module, cls):
10875
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::ItuR1411LosPropagationLossModel::GetTypeId() [member function]
10876
    cls.add_method('GetTypeId', 
10877
                   'ns3::TypeId', 
10878
                   [], 
10879
                   is_static=True)
10859
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): ns3::ItuR1411LosPropagationLossModel::ItuR1411LosPropagationLossModel() [constructor]
10880
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): ns3::ItuR1411LosPropagationLossModel::ItuR1411LosPropagationLossModel() [constructor]
10860
    cls.add_constructor([])
10881
    cls.add_constructor([])
10861
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::ItuR1411LosPropagationLossModel::GetTypeId() [member function]
10862
    cls.add_method('GetTypeId', 
10863
                   'ns3::TypeId', 
10864
                   [], 
10865
                   is_static=True)
10866
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): void ns3::ItuR1411LosPropagationLossModel::SetFrequency(double freq) [member function]
10882
    ## itu-r-1411-los-propagation-loss-model.h (module 'propagation'): void ns3::ItuR1411LosPropagationLossModel::SetFrequency(double freq) [member function]
10867
    cls.add_method('SetFrequency', 
10883
    cls.add_method('SetFrequency', 
10868
                   'void', 
10884
                   'void', 
 Lines 10885-10897    Link Here 
10885
    return
10901
    return
10886
10902
10887
def register_Ns3ItuR1411NlosOverRooftopPropagationLossModel_methods(root_module, cls):
10903
def register_Ns3ItuR1411NlosOverRooftopPropagationLossModel_methods(root_module, cls):
10904
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::ItuR1411NlosOverRooftopPropagationLossModel::GetTypeId() [member function]
10905
    cls.add_method('GetTypeId', 
10906
                   'ns3::TypeId', 
10907
                   [], 
10908
                   is_static=True)
10888
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): ns3::ItuR1411NlosOverRooftopPropagationLossModel::ItuR1411NlosOverRooftopPropagationLossModel() [constructor]
10909
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): ns3::ItuR1411NlosOverRooftopPropagationLossModel::ItuR1411NlosOverRooftopPropagationLossModel() [constructor]
10889
    cls.add_constructor([])
10910
    cls.add_constructor([])
10890
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::ItuR1411NlosOverRooftopPropagationLossModel::GetTypeId() [member function]
10891
    cls.add_method('GetTypeId', 
10892
                   'ns3::TypeId', 
10893
                   [], 
10894
                   is_static=True)
10895
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): void ns3::ItuR1411NlosOverRooftopPropagationLossModel::SetFrequency(double freq) [member function]
10911
    ## itu-r-1411-nlos-over-rooftop-propagation-loss-model.h (module 'propagation'): void ns3::ItuR1411NlosOverRooftopPropagationLossModel::SetFrequency(double freq) [member function]
10896
    cls.add_method('SetFrequency', 
10912
    cls.add_method('SetFrequency', 
10897
                   'void', 
10913
                   'void', 
 Lines 10967-10979    Link Here 
10967
    return
10983
    return
10968
10984
10969
def register_Ns3Kun2600MhzPropagationLossModel_methods(root_module, cls):
10985
def register_Ns3Kun2600MhzPropagationLossModel_methods(root_module, cls):
10986
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::Kun2600MhzPropagationLossModel::GetTypeId() [member function]
10987
    cls.add_method('GetTypeId', 
10988
                   'ns3::TypeId', 
10989
                   [], 
10990
                   is_static=True)
10970
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): ns3::Kun2600MhzPropagationLossModel::Kun2600MhzPropagationLossModel() [constructor]
10991
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): ns3::Kun2600MhzPropagationLossModel::Kun2600MhzPropagationLossModel() [constructor]
10971
    cls.add_constructor([])
10992
    cls.add_constructor([])
10972
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::Kun2600MhzPropagationLossModel::GetTypeId() [member function]
10973
    cls.add_method('GetTypeId', 
10974
                   'ns3::TypeId', 
10975
                   [], 
10976
                   is_static=True)
10977
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): double ns3::Kun2600MhzPropagationLossModel::GetLoss(ns3::Ptr<ns3::MobilityModel> a, ns3::Ptr<ns3::MobilityModel> b) const [member function]
10993
    ## kun-2600-mhz-propagation-loss-model.h (module 'propagation'): double ns3::Kun2600MhzPropagationLossModel::GetLoss(ns3::Ptr<ns3::MobilityModel> a, ns3::Ptr<ns3::MobilityModel> b) const [member function]
10978
    cls.add_method('GetLoss', 
10994
    cls.add_method('GetLoss', 
10979
                   'double', 
10995
                   'double', 
 Lines 11856-11868    Link Here 
11856
    return
11872
    return
11857
11873
11858
def register_Ns3OkumuraHataPropagationLossModel_methods(root_module, cls):
11874
def register_Ns3OkumuraHataPropagationLossModel_methods(root_module, cls):
11875
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::OkumuraHataPropagationLossModel::GetTypeId() [member function]
11876
    cls.add_method('GetTypeId', 
11877
                   'ns3::TypeId', 
11878
                   [], 
11879
                   is_static=True)
11859
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): ns3::OkumuraHataPropagationLossModel::OkumuraHataPropagationLossModel() [constructor]
11880
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): ns3::OkumuraHataPropagationLossModel::OkumuraHataPropagationLossModel() [constructor]
11860
    cls.add_constructor([])
11881
    cls.add_constructor([])
11861
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): static ns3::TypeId ns3::OkumuraHataPropagationLossModel::GetTypeId() [member function]
11862
    cls.add_method('GetTypeId', 
11863
                   'ns3::TypeId', 
11864
                   [], 
11865
                   is_static=True)
11866
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): double ns3::OkumuraHataPropagationLossModel::GetLoss(ns3::Ptr<ns3::MobilityModel> a, ns3::Ptr<ns3::MobilityModel> b) const [member function]
11882
    ## okumura-hata-propagation-loss-model.h (module 'propagation'): double ns3::OkumuraHataPropagationLossModel::GetLoss(ns3::Ptr<ns3::MobilityModel> a, ns3::Ptr<ns3::MobilityModel> b) const [member function]
11867
    cls.add_method('GetLoss', 
11883
    cls.add_method('GetLoss', 
11868
                   'double', 
11884
                   'double', 
 Lines 12139-12148    Link Here 
12139
                   'uint32_t', 
12155
                   'uint32_t', 
12140
                   [param('uint8_t *', 'buffer'), param('uint32_t', 'maxSize')], 
12156
                   [param('uint8_t *', 'buffer'), param('uint32_t', 'maxSize')], 
12141
                   is_const=True)
12157
                   is_const=True)
12142
    ## packet.h (module 'network'): void ns3::Packet::SetNixVector(ns3::Ptr<ns3::NixVector> arg0) [member function]
12158
    ## packet.h (module 'network'): void ns3::Packet::SetNixVector(ns3::Ptr<ns3::NixVector> nixVector) [member function]
12143
    cls.add_method('SetNixVector', 
12159
    cls.add_method('SetNixVector', 
12144
                   'void', 
12160
                   'void', 
12145
                   [param('ns3::Ptr< ns3::NixVector >', 'arg0')])
12161
                   [param('ns3::Ptr< ns3::NixVector >', 'nixVector')])
12146
    return
12162
    return
12147
12163
12148
def register_Ns3ParetoRandomVariable_methods(root_module, cls):
12164
def register_Ns3ParetoRandomVariable_methods(root_module, cls):
(-)a/src/wifi/model/nist-error-rate-model.cc (-31 / +31 lines)
 Lines 76-82    Link Here 
76
  return ber;
76
  return ber;
77
}
77
}
78
double
78
double
79
NistErrorRateModel::GetFecBpskBer (double snr, double nbits,
79
NistErrorRateModel::GetFecBpskBer (double snr, uint32_t nbits,
80
                                   uint32_t bValue) const
80
                                   uint32_t bValue) const
81
{
81
{
82
  double ber = GetBpskBer (snr);
82
  double ber = GetBpskBer (snr);
 Lines 90-96    Link Here 
90
  return pms;
90
  return pms;
91
}
91
}
92
double
92
double
93
NistErrorRateModel::GetFecQpskBer (double snr, double nbits,
93
NistErrorRateModel::GetFecQpskBer (double snr, uint32_t nbits,
94
                                   uint32_t bValue) const
94
                                   uint32_t bValue) const
95
{
95
{
96
  double ber = GetQpskBer (snr);
96
  double ber = GetQpskBer (snr);
 Lines 111-157    Link Here 
111
  if (bValue == 1)
111
  if (bValue == 1)
112
    {
112
    {
113
      // code rate 1/2, use table 3.1.1
113
      // code rate 1/2, use table 3.1.1
114
      pe = 0.5 * ( 36.0 * std::pow (D, 10.0)
114
      pe = 0.5 * ( 36.0 * std::pow (D, 10)
115
                   + 211.0 * std::pow (D, 12.0)
115
                   + 211.0 * std::pow (D, 12)
116
                   + 1404.0 * std::pow (D, 14.0)
116
                   + 1404.0 * std::pow (D, 14)
117
                   + 11633.0 * std::pow (D, 16.0)
117
                   + 11633.0 * std::pow (D, 16)
118
                   + 77433.0 * std::pow (D, 18.0)
118
                   + 77433.0 * std::pow (D, 18)
119
                   + 502690.0 * std::pow (D, 20.0)
119
                   + 502690.0 * std::pow (D, 20)
120
                   + 3322763.0 * std::pow (D, 22.0)
120
                   + 3322763.0 * std::pow (D, 22)
121
                   + 21292910.0 * std::pow (D, 24.0)
121
                   + 21292910.0 * std::pow (D, 24)
122
                   + 134365911.0 * std::pow (D, 26.0)
122
                   + 134365911.0 * std::pow (D, 26)
123
                   );
123
                   );
124
    }
124
    }
125
  else if (bValue == 2)
125
  else if (bValue == 2)
126
    {
126
    {
127
      // code rate 2/3, use table 3.1.2
127
      // code rate 2/3, use table 3.1.2
128
      pe = 1.0 / (2.0 * bValue) *
128
      pe = 1.0 / (2.0 * bValue) *
129
        ( 3.0 * std::pow (D, 6.0)
129
        ( 3.0 * std::pow (D, 6)
130
          + 70.0 * std::pow (D, 7.0)
130
          + 70.0 * std::pow (D, 7)
131
          + 285.0 * std::pow (D, 8.0)
131
          + 285.0 * std::pow (D, 8)
132
          + 1276.0 * std::pow (D, 9.0)
132
          + 1276.0 * std::pow (D, 9)
133
          + 6160.0 * std::pow (D, 10.0)
133
          + 6160.0 * std::pow (D, 10)
134
          + 27128.0 * std::pow (D, 11.0)
134
          + 27128.0 * std::pow (D, 11)
135
          + 117019.0 * std::pow (D, 12.0)
135
          + 117019.0 * std::pow (D, 12)
136
          + 498860.0 * std::pow (D, 13.0)
136
          + 498860.0 * std::pow (D, 13)
137
          + 2103891.0 * std::pow (D, 14.0)
137
          + 2103891.0 * std::pow (D, 14)
138
          + 8784123.0 * std::pow (D, 15.0)
138
          + 8784123.0 * std::pow (D, 15)
139
        );
139
        );
140
    }
140
    }
141
  else if (bValue == 3)
141
  else if (bValue == 3)
142
    {
142
    {
143
      // code rate 3/4, use table 3.1.2
143
      // code rate 3/4, use table 3.1.2
144
      pe = 1.0 / (2.0 * bValue) *
144
      pe = 1.0 / (2.0 * bValue) *
145
        ( 42.0 * std::pow (D, 5.0)
145
        ( 42.0 * std::pow (D, 5)
146
          + 201.0 * std::pow (D, 6.0)
146
          + 201.0 * std::pow (D, 6)
147
          + 1492.0 * std::pow (D, 7.0)
147
          + 1492.0 * std::pow (D, 7)
148
          + 10469.0 * std::pow (D, 8.0)
148
          + 10469.0 * std::pow (D, 8)
149
          + 62935.0 * std::pow (D, 9.0)
149
          + 62935.0 * std::pow (D, 9)
150
          + 379644.0 * std::pow (D, 10.0)
150
          + 379644.0 * std::pow (D, 10)
151
          + 2253373.0 * std::pow (D, 11.0)
151
          + 2253373.0 * std::pow (D, 11)
152
          + 13073811.0 * std::pow (D, 12.0)
152
          + 13073811.0 * std::pow (D, 12)
153
          + 75152755.0 * std::pow (D, 13.0)
153
          + 75152755.0 * std::pow (D, 13)
154
          + 428005675.0 * std::pow (D, 14.0)
154
          + 428005675.0 * std::pow (D, 14)
155
        );
155
        );
156
    }
156
    }
157
  else
157
  else
(-)a/src/wifi/model/nist-error-rate-model.h (-2 / +2 lines)
 Lines 89-95    Link Here 
89
   * \param bValue
89
   * \param bValue
90
   * \return BER of BPSK at the given SNR after applying FEC
90
   * \return BER of BPSK at the given SNR after applying FEC
91
   */
91
   */
92
  double GetFecBpskBer (double snr, double nbits,
92
  double GetFecBpskBer (double snr, uint32_t nbits,
93
                        uint32_t bValue) const;
93
                        uint32_t bValue) const;
94
  /**
94
  /**
95
   * Return BER of QPSK at the given SNR after applying FEC.
95
   * Return BER of QPSK at the given SNR after applying FEC.
 Lines 99-105    Link Here 
99
   * \param bValue
99
   * \param bValue
100
   * \return BER of QPSK at the given SNR after applying FEC
100
   * \return BER of QPSK at the given SNR after applying FEC
101
   */
101
   */
102
  double GetFecQpskBer (double snr, double nbits,
102
  double GetFecQpskBer (double snr, uint32_t nbits,
103
                        uint32_t bValue) const;
103
                        uint32_t bValue) const;
104
  /**
104
  /**
105
   * Return BER of QAM16 at the given SNR after applying FEC.
105
   * Return BER of QAM16 at the given SNR after applying FEC.
(-)a/src/wifi/model/yans-error-rate-model.cc (-1 / +1 lines)
 Lines 64-70    Link Here 
64
  double EbNo = snr * signalSpread / phyRate;
64
  double EbNo = snr * signalSpread / phyRate;
65
  double z = std::sqrt ((1.5 * Log2 (m) * EbNo) / (m - 1.0));
65
  double z = std::sqrt ((1.5 * Log2 (m) * EbNo) / (m - 1.0));
66
  double z1 = ((1.0 - 1.0 / std::sqrt (m)) * erfc (z));
66
  double z1 = ((1.0 - 1.0 / std::sqrt (m)) * erfc (z));
67
  double z2 = 1 - std::pow ((1 - z1), 2.0);
67
  double z2 = 1 - std::pow ((1 - z1), 2);
68
  double ber = z2 / Log2 (m);
68
  double ber = z2 / Log2 (m);
69
  NS_LOG_INFO ("Qam m=" << m << " rate=" << phyRate << " snr=" << snr << " ber=" << ber);
69
  NS_LOG_INFO ("Qam m=" << m << " rate=" << phyRate << " snr=" << snr << " ber=" << ber);
70
  return ber;
70
  return ber;

Return to bug 1276