Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- make check
- valgrind ./program
- ==8063== Memcheck, a memory error detector
- ==8063== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
- ==8063== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
- ==8063== Command: ./program
- ==8063==
- Poly p1: 2x^3 + 3.6x + 7
- Polynomial p2: x^4 - 6x^2 + 3x + 5
- Sum of polynomials p1 and p2: x^4 + 2x^3 - 6x^2 + 6.6x + 12
- Sum of polynomial p1 and 3: 2x^3 + 3.6x + 10
- Sum of 3 and polynomial p1: 2x^3 + 3.6x + 10
- Difference of polynomials p1 and p2: - x^4 + 2x^3 + 6x^2 + 0.6x + 2
- ==8063== Invalid read of size 8
- ==8063== at 0x4EE5F50: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
- ==8063== by 0x10A4CA: std::_Rb_tree_iterator<std::pair<int const, double> >::operator++() (stl_tree.h:287)
- ==8063== by 0x1098E4: operator-(Poly const&, Poly const&) (Polynomial.cpp:123)
- ==8063== by 0x10D886: main (TestPolynomial.cpp:35)
- ==8063== Address 0x5b80608 is 24 bytes inside a block of size 48 free'd
- ==8063== at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==8063== by 0x10A834: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_map.h:1062)
- ==8063== by 0x1098D8: operator-(Poly const&, Poly const&) (Polynomial.cpp:127)
- ==8063== by 0x10D886: main (TestPolynomial.cpp:35)
- ==8063== Block was alloc'd at
- ==8063== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==8063==
- ==8063== Invalid read of size 8
- ==8063== at 0x4EE5F70: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
- ==8063== by 0x10A4CA: std::_Rb_tree_iterator<std::pair<int const, double> >::operator++() (stl_tree.h:287)
- ==8063== by 0x1098E4: operator-(Poly const&, Poly const&) (Polynomial.cpp:123)
- ==8063== by 0x10D886: main (TestPolynomial.cpp:35)
- ==8063== Address 0x5b805f8 is 8 bytes inside a block of size 48 free'd
- ==8063== at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==8063== by 0x10A834: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_map.h:1062)
- ==8063== by 0x1098D8: operator-(Poly const&, Poly const&) (Polynomial.cpp:127)
- ==8063== by 0x10D886: main (TestPolynomial.cpp:35)
- ==8063== Block was alloc'd at
- ==8063== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==8063==
- Difference of polynomial p1 and 7: 2x^3 + 3.6x
- ==8063== Invalid read of size 8
- ==8063== at 0x4EE5F50: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
- ==8063== by 0x10A4CA: std::_Rb_tree_iterator<std::pair<int const, double> >::operator++() (stl_tree.h:287)
- ==8063== by 0x1098E4: operator-(Poly const&, Poly const&) (Polynomial.cpp:123)
- ==8063== by 0x10D92D: main (TestPolynomial.cpp:38)
- ==8063== Address 0x5b80ad8 is 24 bytes inside a block of size 48 free'd
- ==8063== at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==8063== by 0x10A834: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_map.h:1062)
- ==8063== by 0x1098D8: operator-(Poly const&, Poly const&) (Polynomial.cpp:127)
- ==8063== by 0x10D92D: main (TestPolynomial.cpp:38)
- ==8063== Block was alloc'd at
- ==8063== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==8063==
- ==8063== Invalid read of size 8
- ==8063== at 0x4EE5F70: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
- ==8063== by 0x10A4CA: std::_Rb_tree_iterator<std::pair<int const, double> >::operator++() (stl_tree.h:287)
- ==8063== by 0x1098E4: operator-(Poly const&, Poly const&) (Polynomial.cpp:123)
- ==8063== by 0x10D92D: main (TestPolynomial.cpp:38)
- ==8063== Address 0x5b80ac8 is 8 bytes inside a block of size 48 free'd
- ==8063== at 0x4C3123B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==8063== by 0x10A834: std::map<int, double, std::less<int>, std::allocator<std::pair<int const, double> > >::erase(int const&) (stl_map.h:1062)
- ==8063== by 0x1098D8: operator-(Poly const&, Poly const&) (Polynomial.cpp:127)
- ==8063== by 0x10D92D: main (TestPolynomial.cpp:38)
- ==8063== Block was alloc'd at
- ==8063== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==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)
- ==8063==
- Difference of 7 and polynomial p1: - 2x^3 - 3.6x
- Product of polynomials p1 and p2: 2x^7 - 12x^5 + 6x^4 + 10x^3 + 10.8x^2 + 18x + 35
- Polynomial p1 multiplied by 2: 4x^3 + 7.2x + 14
- Negation of polynomial p2: - x^4 + 6x^2 - 3x - 5
- Value of polynomial p1 at point 1.5: 19.15
- ==8063==
- ==8063== HEAP SUMMARY:
- ==8063== in use at exit: 0 bytes in 0 blocks
- ==8063== total heap usage: 120 allocs, 120 frees, 79,392 bytes allocated
- ==8063==
- ==8063== All heap blocks were freed -- no leaks are possible
- ==8063==
- ==8063== For counts of detected and suppressed errors, rerun with: -v
- ==8063== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement