Edge.cpp 675 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * Edge.cpp
  3. *
  4. * Created on: 12 Nov 2013
  5. * Author: s0965328
  6. */
  7. #include "Edge.h"
  8. #include <iostream>
  9. #include <sstream>
  10. namespace AutoDiff {
  11. Edge::Edge(Node* a_,Node* b_):a(a_),b(b_) {
  12. }
  13. Edge::~Edge() {
  14. a = NULL;
  15. b = NULL;
  16. }
  17. Edge::Edge(const Edge& e)
  18. {
  19. a = e.a;
  20. b = e.b;
  21. }
  22. bool Edge::isEqual(Edge* e)
  23. {
  24. if(e->a == a && e->b == b)
  25. {
  26. return true;
  27. }
  28. else if(e->b == a && e->a == b)
  29. {
  30. return true;
  31. }
  32. return false;
  33. }
  34. bool Edge::isEqual(Edge& e)
  35. {
  36. return isEqual(&e);
  37. }
  38. string Edge::toString()
  39. {
  40. ostringstream oss;
  41. oss<<""<<a->toString(0)<<"|"<<a<<" ----- "<<b->toString(0)<<"|"<<b<<""<<endl;
  42. return oss.str();
  43. }
  44. } /* namespace AutoDiff */