diff --git a/src/vm/vm.cpp b/src/vm/vm.cpp index afa327b..f851892 100644 --- a/src/vm/vm.cpp +++ b/src/vm/vm.cpp @@ -577,6 +577,15 @@ namespace Tesses::CrossLang { { cse.back()->Push(gc,std::get(left) < std::get(right)); } + + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) < std::get(right)); + } + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) < std::get(right)); + } else if(std::holds_alternative(left) && std::holds_alternative(right)) { auto lver= std::get(left); @@ -639,6 +648,15 @@ namespace Tesses::CrossLang { { cse.back()->Push(gc,std::get(left) > std::get(right)); } + + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) > std::get(right)); + } + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) > std::get(right)); + } else if(std::holds_alternative(left) && std::holds_alternative(right)) { auto lver= std::get(left); @@ -701,6 +719,15 @@ namespace Tesses::CrossLang { { cse.back()->Push(gc,std::get(left) <= std::get(right)); } + + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) <= std::get(right)); + } + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) <= std::get(right)); + } else if(std::holds_alternative(left) && std::holds_alternative(right)) { auto lver= std::get(left); @@ -763,6 +790,15 @@ namespace Tesses::CrossLang { { cse.back()->Push(gc,std::get(left) >= std::get(right)); } + + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) >= std::get(right)); + } + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) >= std::get(right)); + } else if(std::holds_alternative(left) && std::holds_alternative(right)) { auto lver= std::get(left); @@ -850,6 +886,14 @@ namespace Tesses::CrossLang { { cse.back()->Push(gc,std::get(left) == std::get(right)); } + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) == std::get(right)); + } + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) == std::get(right)); + } else if(std::holds_alternative(left) && std::holds_alternative(right)) { auto lver= std::get(left); @@ -943,6 +987,14 @@ namespace Tesses::CrossLang { { cse.back()->Push(gc,std::get(left) != std::get(right)); } + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) != std::get(right)); + } + else if(std::holds_alternative(left) && std::holds_alternative(right)) + { + cse.back()->Push(gc,std::get(left) != std::get(right)); + } else if(std::holds_alternative(left) && std::holds_alternative(right)) { auto lver= std::get(left);