Advertisement
Mary_99

lel

Nov 16th, 2019
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.06 KB | None | 0 0
  1. make check
  2. valgrind ./program
  3. ==8063== Memcheck, a memory error detector
  4. ==8063== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
  5. ==8063== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
  6. ==8063== Command: ./program
  7. ==8063==
  8. Poly p1: 2x^3 + 3.6x + 7
  9. Polynomial p2: x^4 - 6x^2 + 3x + 5
  10. Sum of polynomials p1 and p2: x^4 + 2x^3 - 6x^2 + 6.6x + 12
  11. Sum of polynomial p1 and 3: 2x^3 + 3.6x + 10
  12. Sum of 3 and polynomial p1: 2x^3 + 3.6x + 10
  13. Difference of polynomials p1 and p2: - x^4 + 2x^3 + 6x^2 + 0.6x + 2
  14. ==8063== Invalid read of size 8
  15. ==8063== at 0x4EE5F50: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
  16. ==8063== by 0x10A4CA: std::_Rb_tree_iterator<std::pair<int const, double> >::operator++() (stl_tree.h:287)
  17. ==8063== by 0x1098E4: operator-(Poly const&, Poly const&) (Polynomial.cpp:123)
  18. ==8063== by 0x10D886: main (TestPolynomial.cpp:35)
  19. ==8063== Address 0x5b80608 is 24 bytes inside a block of size 48 free'd
  20. ==8063== at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  21. ==8063== by 0x10CE9D: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, double> > >::deallocate(std::_Rb_tree_node<std::pair<int const, double> >*, unsigned long) (new_allocator.h:125)
  22. ==8063== by 0x10CC80: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, double> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<int const, double> > >&, std::_Rb_tree_node<std::pair<int const, double> >*, unsigned long) (alloc_traits.h:462)
  23. ==8063== by 0x10C4C0: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_put_node(std::_Rb_tree_node<std::pair<int const, double> >*) (stl_tree.h:592)
  24. ==8063== by 0x10B431: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_drop_node(std::_Rb_tree_node<std::pair<int const, double> >*) (stl_tree.h:659)
  25. ==8063== by 0x10CC09: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<int const, double> >) (stl_tree.h:2477)
  26. ==8063== by 0x10C41A: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<int const, double> >, std::_Rb_tree_const_iterator<std::pair<int const, double> >) (stl_tree.h:2491)
  27. ==8063== by 0x10B38C: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_tree.h:2502)
  28. ==8063== by 0x10A834: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_map.h:1062)
  29. ==8063== by 0x1098D8: operator-(Poly const&, Poly const&) (Polynomial.cpp:127)
  30. ==8063== by 0x10D886: main (TestPolynomial.cpp:35)
  31. ==8063== Block was alloc'd at
  32. ==8063== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  33. ==8063== by 0x10CEEA: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, double> > >::allocate(unsigned long, void const*) (new_allocator.h:111)
  34. ==8063== by 0x10CCAB: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, double> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<int const, double> > >&, unsigned long) (alloc_traits.h:436)
  35. ==8063== by 0x10C4E8: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_get_node() (stl_tree.h:588)
  36. ==8063== by 0x10D23D: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_create_node<std::pair<int const, double> const&>(std::pair<int const, double> const&) (stl_tree.h:642)
  37. ==8063== by 0x10D068: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node::operator()<std::pair<int const, double> const&>(std::pair<int const, double> const&) const (stl_tree.h:556)
  38. ==8063== by 0x10CD9F: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_clone_node<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, double> > const*, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:666)
  39. ==8063== by 0x10C90A: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, double> > const*, std::_Rb_tree_node_base*, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:1830)
  40. ==8063== by 0x10BE74: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:875)
  41. ==8063== by 0x10AFB6: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_tree.h:886)
  42. ==8063== by 0x10A555: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Rb_tree(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_tree.h:924)
  43. ==8063== by 0x109F74: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::map(std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_map.h:199)
  44. ==8063==
  45. ==8063== Invalid read of size 8
  46. ==8063== at 0x4EE5F70: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
  47. ==8063== by 0x10A4CA: std::_Rb_tree_iterator<std::pair<int const, double> >::operator++() (stl_tree.h:287)
  48. ==8063== by 0x1098E4: operator-(Poly const&, Poly const&) (Polynomial.cpp:123)
  49. ==8063== by 0x10D886: main (TestPolynomial.cpp:35)
  50. ==8063== Address 0x5b805f8 is 8 bytes inside a block of size 48 free'd
  51. ==8063== at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  52. ==8063== by 0x10CE9D: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, double> > >::deallocate(std::_Rb_tree_node<std::pair<int const, double> >*, unsigned long) (new_allocator.h:125)
  53. ==8063== by 0x10CC80: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, double> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<int const, double> > >&, std::_Rb_tree_node<std::pair<int const, double> >*, unsigned long) (alloc_traits.h:462)
  54. ==8063== by 0x10C4C0: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_put_node(std::_Rb_tree_node<std::pair<int const, double> >*) (stl_tree.h:592)
  55. ==8063== by 0x10B431: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_drop_node(std::_Rb_tree_node<std::pair<int const, double> >*) (stl_tree.h:659)
  56. ==8063== by 0x10CC09: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<int const, double> >) (stl_tree.h:2477)
  57. ==8063== by 0x10C41A: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<int const, double> >, std::_Rb_tree_const_iterator<std::pair<int const, double> >) (stl_tree.h:2491)
  58. ==8063== by 0x10B38C: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_tree.h:2502)
  59. ==8063== by 0x10A834: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_map.h:1062)
  60. ==8063== by 0x1098D8: operator-(Poly const&, Poly const&) (Polynomial.cpp:127)
  61. ==8063== by 0x10D886: main (TestPolynomial.cpp:35)
  62. ==8063== Block was alloc'd at
  63. ==8063== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  64. ==8063== by 0x10CEEA: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, double> > >::allocate(unsigned long, void const*) (new_allocator.h:111)
  65. ==8063== by 0x10CCAB: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, double> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<int const, double> > >&, unsigned long) (alloc_traits.h:436)
  66. ==8063== by 0x10C4E8: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_get_node() (stl_tree.h:588)
  67. ==8063== by 0x10D23D: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_create_node<std::pair<int const, double> const&>(std::pair<int const, double> const&) (stl_tree.h:642)
  68. ==8063== by 0x10D068: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node::operator()<std::pair<int const, double> const&>(std::pair<int const, double> const&) const (stl_tree.h:556)
  69. ==8063== by 0x10CD9F: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_clone_node<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, double> > const*, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:666)
  70. ==8063== by 0x10C90A: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, double> > const*, std::_Rb_tree_node_base*, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:1830)
  71. ==8063== by 0x10BE74: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:875)
  72. ==8063== by 0x10AFB6: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_tree.h:886)
  73. ==8063== by 0x10A555: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Rb_tree(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_tree.h:924)
  74. ==8063== by 0x109F74: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::map(std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_map.h:199)
  75. ==8063==
  76. Difference of polynomial p1 and 7: 2x^3 + 3.6x
  77. ==8063== Invalid read of size 8
  78. ==8063== at 0x4EE5F50: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
  79. ==8063== by 0x10A4CA: std::_Rb_tree_iterator<std::pair<int const, double> >::operator++() (stl_tree.h:287)
  80. ==8063== by 0x1098E4: operator-(Poly const&, Poly const&) (Polynomial.cpp:123)
  81. ==8063== by 0x10D92D: main (TestPolynomial.cpp:38)
  82. ==8063== Address 0x5b80ad8 is 24 bytes inside a block of size 48 free'd
  83. ==8063== at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  84. ==8063== by 0x10CE9D: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, double> > >::deallocate(std::_Rb_tree_node<std::pair<int const, double> >*, unsigned long) (new_allocator.h:125)
  85. ==8063== by 0x10CC80: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, double> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<int const, double> > >&, std::_Rb_tree_node<std::pair<int const, double> >*, unsigned long) (alloc_traits.h:462)
  86. ==8063== by 0x10C4C0: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_put_node(std::_Rb_tree_node<std::pair<int const, double> >*) (stl_tree.h:592)
  87. ==8063== by 0x10B431: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_drop_node(std::_Rb_tree_node<std::pair<int const, double> >*) (stl_tree.h:659)
  88. ==8063== by 0x10CC09: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<int const, double> >) (stl_tree.h:2477)
  89. ==8063== by 0x10C41A: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<int const, double> >, std::_Rb_tree_const_iterator<std::pair<int const, double> >) (stl_tree.h:2491)
  90. ==8063== by 0x10B38C: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_tree.h:2502)
  91. ==8063== by 0x10A834: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_map.h:1062)
  92. ==8063== by 0x1098D8: operator-(Poly const&, Poly const&) (Polynomial.cpp:127)
  93. ==8063== by 0x10D92D: main (TestPolynomial.cpp:38)
  94. ==8063== Block was alloc'd at
  95. ==8063== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  96. ==8063== by 0x10CEEA: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, double> > >::allocate(unsigned long, void const*) (new_allocator.h:111)
  97. ==8063== by 0x10CCAB: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, double> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<int const, double> > >&, unsigned long) (alloc_traits.h:436)
  98. ==8063== by 0x10C4E8: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_get_node() (stl_tree.h:588)
  99. ==8063== by 0x10D23D: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_create_node<std::pair<int const, double> const&>(std::pair<int const, double> const&) (stl_tree.h:642)
  100. ==8063== by 0x10D068: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node::operator()<std::pair<int const, double> const&>(std::pair<int const, double> const&) const (stl_tree.h:556)
  101. ==8063== by 0x10CD9F: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_clone_node<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, double> > const*, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:666)
  102. ==8063== by 0x10C90A: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, double> > const*, std::_Rb_tree_node_base*, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:1830)
  103. ==8063== by 0x10BE74: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:875)
  104. ==8063== by 0x10AFB6: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_tree.h:886)
  105. ==8063== by 0x10A555: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Rb_tree(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_tree.h:924)
  106. ==8063== by 0x109F74: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::map(std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_map.h:199)
  107. ==8063==
  108. ==8063== Invalid read of size 8
  109. ==8063== at 0x4EE5F70: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
  110. ==8063== by 0x10A4CA: std::_Rb_tree_iterator<std::pair<int const, double> >::operator++() (stl_tree.h:287)
  111. ==8063== by 0x1098E4: operator-(Poly const&, Poly const&) (Polynomial.cpp:123)
  112. ==8063== by 0x10D92D: main (TestPolynomial.cpp:38)
  113. ==8063== Address 0x5b80ac8 is 8 bytes inside a block of size 48 free'd
  114. ==8063== at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  115. ==8063== by 0x10CE9D: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, double> > >::deallocate(std::_Rb_tree_node<std::pair<int const, double> >*, unsigned long) (new_allocator.h:125)
  116. ==8063== by 0x10CC80: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, double> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<int const, double> > >&, std::_Rb_tree_node<std::pair<int const, double> >*, unsigned long) (alloc_traits.h:462)
  117. ==8063== by 0x10C4C0: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_put_node(std::_Rb_tree_node<std::pair<int const, double> >*) (stl_tree.h:592)
  118. ==8063== by 0x10B431: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_drop_node(std::_Rb_tree_node<std::pair<int const, double> >*) (stl_tree.h:659)
  119. ==8063== by 0x10CC09: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<int const, double> >) (stl_tree.h:2477)
  120. ==8063== by 0x10C41A: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<int const, double> >, std::_Rb_tree_const_iterator<std::pair<int const, double> >) (stl_tree.h:2491)
  121. ==8063== by 0x10B38C: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_tree.h:2502)
  122. ==8063== by 0x10A834: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_map.h:1062)
  123. ==8063== by 0x1098D8: operator-(Poly const&, Poly const&) (Polynomial.cpp:127)
  124. ==8063== by 0x10D92D: main (TestPolynomial.cpp:38)
  125. ==8063== Block was alloc'd at
  126. ==8063== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  127. ==8063== by 0x10CEEA: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, double> > >::allocate(unsigned long, void const*) (new_allocator.h:111)
  128. ==8063== by 0x10CCAB: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<int const, double> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<int const, double> > >&, unsigned long) (alloc_traits.h:436)
  129. ==8063== by 0x10C4E8: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_get_node() (stl_tree.h:588)
  130. ==8063== by 0x10D23D: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_create_node<std::pair<int const, double> const&>(std::pair<int const, double> const&) (stl_tree.h:642)
  131. ==8063== by 0x10D068: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node::operator()<std::pair<int const, double> const&>(std::pair<int const, double> const&) const (stl_tree.h:556)
  132. ==8063== by 0x10CD9F: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_clone_node<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, double> > const*, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:666)
  133. ==8063== by 0x10C90A: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree_node<std::pair<int const, double> > const*, std::_Rb_tree_node_base*, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:1830)
  134. ==8063== by 0x10BE74: std::_Rb_tree_node<std::pair<int const, double> >* std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node>(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&, std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Alloc_node&) (stl_tree.h:875)
  135. ==8063== by 0x10AFB6: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_M_copy(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_tree.h:886)
  136. ==8063== by 0x10A555: std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > >::_Rb_tree(std::_Rb_tree<int, std::pair<int const, double>, std::_Select1st<std::pair<int const, double> >, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_tree.h:924)
  137. ==8063== by 0x109F74: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::map(std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > > const&) (stl_map.h:199)
  138. ==8063==
  139. Difference of 7 and polynomial p1: - 2x^3 - 3.6x
  140. Product of polynomials p1 and p2: 2x^7 - 12x^5 + 6x^4 + 10x^3 + 10.8x^2 + 18x + 35
  141. Polynomial p1 multiplied by 2: 4x^3 + 7.2x + 14
  142. Negation of polynomial p2: - x^4 + 6x^2 - 3x - 5
  143. Value of polynomial p1 at point 1.5: 19.15
  144. ==8063==
  145. ==8063== HEAP SUMMARY:
  146. ==8063== in use at exit: 0 bytes in 0 blocks
  147. ==8063== total heap usage: 120 allocs, 120 frees, 79,392 bytes allocated
  148. ==8063==
  149. ==8063== All heap blocks were freed -- no leaks are possible
  150. ==8063==
  151. ==8063== For counts of detected and suppressed errors, rerun with: -v
  152. ==8063== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement