From 49891be245e790cb2202ddcf395e60d6ee3d1aa8 Mon Sep 17 00:00:00 2001 From: Mike Nolan Date: Sun, 6 Apr 2025 16:47:26 -0700 Subject: [PATCH] Equality on char and long --- src/vm/vm.cpp | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) 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);