2
0
Эх сурвалжийг харах

Added Min/Max inlines for LongInt and ULongInt.

Added default comparators.
Brucey 1 жил өмнө
parent
commit
ec4186a277

+ 39 - 0
blitz.mod/builtin.bmx

@@ -89,6 +89,25 @@ Function Max:Size_T(a:Size_T, b:Size_T) Inline
 	Return a
 End Function
 
+Rem
+bbdoc: Returns the larger of the two #LongInt arguments.
+End Rem
+Function Max:LongInt(a:LongInt, b:LongInt) Inline
+	If a < b Then
+		Return b
+	End If
+	Return a
+End Function
+
+Rem
+bbdoc: Returns the larger of the two #ULongInt arguments.
+End Rem
+Function Max:ULongInt(a:ULongInt, b:ULongInt) Inline
+	If a < b Then
+		Return b
+	End If
+	Return a
+End Function
 
 
 Rem
@@ -181,6 +200,26 @@ Function Min:Size_T(a:Size_T, b:Size_T) Inline
 	Return a
 End Function
 
+Rem
+bbdoc: Returns the lesser of the two #LongInt arguments.
+End Rem
+Function Min:LongInt(a:LongInt, b:LongInt) Inline
+	If a > b Then
+		Return b
+	End If
+	Return a
+End Function
+
+Rem
+bbdoc: Returns the lesser of the two #ULongInt arguments.
+End Rem
+Function Min:ULongInt(a:ULongInt, b:ULongInt) Inline
+	If a > b Then
+		Return b
+	End If
+	Return a
+End Function
+
 Extern
 	Function bbIntAbs:Int(a:Int)="int bbIntAbs(int)!"
 	Function bbFloatAbs:Double(a:Double)="double bbFloatAbs(double)!"

+ 18 - 0
blitz.mod/comparator.bmx

@@ -85,3 +85,21 @@ End Function
 Function DefaultComparator_Compare:Int(o1:Byte Ptr, o2:Byte Ptr)
 	Return o1 - o2
 End Function
+
+Function DefaultComparator_Compare:Int(o1:LongInt, o2:LongInt)
+	If o1 < o2 Then
+		Return -1
+	Else If o2 < o1 Then
+		Return 1
+	End If
+	Return 0
+End Function
+
+Function DefaultComparator_Compare:Int(o1:ULongInt, o2:ULongInt)
+	If o1 < o2 Then
+		Return -1
+	Else If o2 < o1 Then
+		Return 1
+	End If
+	Return 0
+End Function