// lhs > hrs // lhs > hrs //C++ TO C# CONVERTER WARNING: 'const' methods are not available in C#: //ORIGINAL LINE: bool operator ()(const PendingTransactionInfo& lhs, const PendingTransactionInfo& rhs) const public static bool functorMethod(PendingTransactionInfo lhs, PendingTransactionInfo rhs) { CachedTransaction left = lhs.cachedTransaction; CachedTransaction right = rhs.cachedTransaction; // price(lhs) = lhs.fee / lhs.blobSize // price(lhs) > price(rhs) --> // lhs.fee / lhs.blobSize > rhs.fee / rhs.blobSize --> // lhs.fee * rhs.blobSize > rhs.fee * lhs.blobSize ulong lhs_hi = new ulong(); ulong lhs_lo = GlobalMembers.mul128(left.getTransactionFee(), right.getTransactionBinaryArray().size(), lhs_hi); ulong rhs_hi = new ulong(); ulong rhs_lo = GlobalMembers.mul128(right.getTransactionFee(), left.getTransactionBinaryArray().size(), rhs_hi); return((lhs_hi > rhs_hi) || (lhs_hi == rhs_hi && lhs_lo > rhs_lo) || (lhs_hi == rhs_hi && lhs_lo == rhs_lo && left.getTransactionBinaryArray().size() < right.getTransactionBinaryArray().size()) || (lhs_hi == rhs_hi && lhs_lo == rhs_lo && left.getTransactionBinaryArray().size() == right.getTransactionBinaryArray().size() && lhs.receiveTime < rhs.receiveTime)); }