private static bool CompareAttributes(VMCompatibility vMCompatibility, ulong vmCompatibilityInfo, ulong hostCompatibilityInfo) { bool compareResult = false; switch (vMCompatibility) { case VMCompatibility.Equal: compareResult = vmCompatibilityInfo.Equals(hostCompatibilityInfo); break; case VMCompatibility.Disjoint: if ((vmCompatibilityInfo & hostCompatibilityInfo) == 0) { compareResult = true; } break; case VMCompatibility.GreaterThan: if (vmCompatibilityInfo > hostCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.Superset: if ((vmCompatibilityInfo & hostCompatibilityInfo) == hostCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.GreaterThanOrEqual: if (vmCompatibilityInfo >= hostCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.LessThan: if (vmCompatibilityInfo < hostCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.Subset: if ((vmCompatibilityInfo & hostCompatibilityInfo) == vmCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.LessThanOrEqual: if (vmCompatibilityInfo <= hostCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.Multiple: if ((vmCompatibilityInfo % hostCompatibilityInfo) == 0) { compareResult = true; } break; case VMCompatibility.Divisible: if ((hostCompatibilityInfo % vmCompatibilityInfo) == 0) { compareResult = true; } break; default: Console.WriteLine(String.Format(CultureInfo.InvariantCulture, "Unexpected VMCompatibility option: {0}", vMCompatibility)); break; } return(compareResult); }
private static bool CompareAttributes(VMCompatibility vMCompatibility, ulong vmCompatibilityInfo, ulong hostCompatibilityInfo) { bool compareResult = false; switch (vMCompatibility) { case VMCompatibility.Equal: compareResult = vmCompatibilityInfo.Equals(hostCompatibilityInfo); break; case VMCompatibility.Disjoint: if ((vmCompatibilityInfo & hostCompatibilityInfo) == 0) { compareResult = true; } break; case VMCompatibility.GreaterThan: if (vmCompatibilityInfo > hostCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.Superset: if ((vmCompatibilityInfo & hostCompatibilityInfo) == hostCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.GreaterThanOrEqual: if (vmCompatibilityInfo >= hostCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.LessThan: if (vmCompatibilityInfo < hostCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.Subset: if ((vmCompatibilityInfo & hostCompatibilityInfo) == vmCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.LessThanOrEqual: if (vmCompatibilityInfo <= hostCompatibilityInfo) { compareResult = true; } break; case VMCompatibility.Multiple: if ((vmCompatibilityInfo % hostCompatibilityInfo) == 0) { compareResult = true; } break; case VMCompatibility.Divisible: if ((hostCompatibilityInfo % vmCompatibilityInfo) == 0) { compareResult = true; } break; default: Console.WriteLine(String.Format(CultureInfo.InvariantCulture, "Unexpected VMCompatibility option: {0}", vMCompatibility)); break; } return compareResult; }