fork download
  1. #include <iostream>
  2.  
  3. bool logic_a(double a, double b, double c, double d)
  4. {
  5. return !((a>b&&c>d)||(a<b&&c<d));
  6. }
  7.  
  8. bool logic_b(double a, double b, double c, double d)
  9. {
  10. return (a>=b&&c<=d)||(a<=b&&c>=d)||(a==b)||(c==d);
  11. }
  12.  
  13. int main()
  14. {
  15. int num_failures = 0;
  16. double a,b,c,d;
  17. for (int i=-1; i<=1; ++i)
  18. {
  19. a = i;
  20. for (int j=-1; j<=1; ++j)
  21. {
  22. b = j;
  23. for (int k=-1; k<=1; ++k)
  24. {
  25. c = k;
  26. for (int l=-1; l<=1; ++l)
  27. {
  28. d = l;
  29. if (logic_a(a,b,c,d) != logic_b(a,b,c,d))
  30. {
  31. std::cout << "failed with:\n";
  32. std::cout << " a = " << a << '\n'
  33. << " b = " << b << '\n'
  34. << " c = " << c << '\n'
  35. << " d = " << d << "\n\n";
  36. ++num_failures;
  37. }
  38.  
  39. }
  40. }
  41. }
  42. }
  43.  
  44. std::cout << num_failures << " failures\n";
  45.  
  46. }
Success #stdin #stdout 0s 2928KB
stdin
Standard input is empty
stdout
0 failures