Tests for integer cmp operation added
This commit is contained in:
committed by
vvlevchenko
parent
59fff52e0c
commit
04822dda69
@@ -246,6 +246,10 @@ task minus_eq(type: UnitKonanTest) {
|
|||||||
source = "codegen/function/minus_eq.kt"
|
source = "codegen/function/minus_eq.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task eqeq(type: UnitKonanTest) {
|
||||||
|
source = "codegen/function/eqeq.kt"
|
||||||
|
}
|
||||||
|
|
||||||
task cycle(type: UnitKonanTest) {
|
task cycle(type: UnitKonanTest) {
|
||||||
source = "codegen/cycles/cycle.kt"
|
source = "codegen/cycles/cycle.kt"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,22 @@ run_test() {
|
|||||||
int (*eqeqL)(int64_t, int64_t) = resolve_symbol("kfun:eqeqL(Long;Long)");
|
int (*eqeqL)(int64_t, int64_t) = resolve_symbol("kfun:eqeqL(Long;Long)");
|
||||||
int (*eqeqF)(float , float ) = resolve_symbol("kfun:eqeqF(Float;Float)");
|
int (*eqeqF)(float , float ) = resolve_symbol("kfun:eqeqF(Float;Float)");
|
||||||
int (*eqeqD)(double , double ) = resolve_symbol("kfun:eqeqD(Double;Double)");
|
int (*eqeqD)(double , double ) = resolve_symbol("kfun:eqeqD(Double;Double)");
|
||||||
|
void *(*helloString)() = resolve_symbol("kfun:helloString()");
|
||||||
|
void *(*goodbyeString)() = resolve_symbol("kfun:goodbyeString()");
|
||||||
|
int (*eqeqStr)(void *, void *) = resolve_symbol("kfun:eqeqStr(String;String)");
|
||||||
|
|
||||||
|
int (*gtI )(int , int ) = resolve_symbol("kfun:gtI(Int;Int)");
|
||||||
|
int (*ltI )(int , int ) = resolve_symbol("kfun:ltI(Int;Int)");
|
||||||
|
int (*geI )(int , int ) = resolve_symbol("kfun:geI(Int;Int)");
|
||||||
|
int (*leI )(int , int ) = resolve_symbol("kfun:leI(Int;Int)");
|
||||||
|
int (*neI )(int , int ) = resolve_symbol("kfun:neI(Int;Int)");
|
||||||
|
|
||||||
|
int (*gtF )(float , float ) = resolve_symbol("kfun:gtF(Float;Float)");
|
||||||
|
int (*ltF )(float , float ) = resolve_symbol("kfun:ltF(Float;Float)");
|
||||||
|
int (*geF )(float , float ) = resolve_symbol("kfun:geF(Float;Float)");
|
||||||
|
int (*leF )(float , float ) = resolve_symbol("kfun:leF(Float;Float)");
|
||||||
|
int (*neF )(float , float ) = resolve_symbol("kfun:neF(Float;Float)");
|
||||||
|
|
||||||
if (!eqeqB(3 , 3 )) return 1;
|
if (!eqeqB(3 , 3 )) return 1;
|
||||||
if (!eqeqS(3 , 3 )) return 1;
|
if (!eqeqS(3 , 3 )) return 1;
|
||||||
if (!eqeqI(3 , 3 )) return 1;
|
if (!eqeqI(3 , 3 )) return 1;
|
||||||
@@ -16,5 +32,19 @@ run_test() {
|
|||||||
if (!eqeqF(3.0f, 3.0f)) return 1;
|
if (!eqeqF(3.0f, 3.0f)) return 1;
|
||||||
if (!eqeqD(3.0 , 3.0 )) return 1;
|
if (!eqeqD(3.0 , 3.0 )) return 1;
|
||||||
|
|
||||||
|
if (!eqeqStr(helloString(), helloString())) return 1;
|
||||||
|
|
||||||
|
if (gtI (2 , 3 )) return 1;
|
||||||
|
if (ltI (3 , 2 )) return 1;
|
||||||
|
if (geI (2 , 3 )) return 1;
|
||||||
|
if (leI (3 , 2 )) return 1;
|
||||||
|
if (neI (2 , 2 )) return 1;
|
||||||
|
|
||||||
|
if (gtF (2.0 , 3.0 )) return 1;
|
||||||
|
if (ltF (3.0 , 2.0 )) return 1;
|
||||||
|
if (geF (2.0 , 3.0 )) return 1;
|
||||||
|
if (leF (3.0 , 2.0 )) return 1;
|
||||||
|
if (neF (2.0 , 2.0 )) return 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,23 @@
|
|||||||
fun eqeqB(a:Byte, b:Byte ) = a == b
|
fun eqeqB (a:Byte, b:Byte ) = a == b
|
||||||
fun eqeqS(a:Short, b:Short ) = a == b
|
fun eqeqS (a:Short, b:Short ) = a == b
|
||||||
fun eqeqI(a:Int, b:Int ) = a == b
|
fun eqeqI (a:Int, b:Int ) = a == b
|
||||||
fun eqeqL(a:Long, b:Long ) = a == b
|
fun eqeqL (a:Long, b:Long ) = a == b
|
||||||
fun eqeqF(a:Float, b:Float ) = a == b
|
fun eqeqF (a:Float, b:Float ) = a == b
|
||||||
fun eqeqD(a:Double, b:Double) = a == b
|
fun eqeqD (a:Double, b:Double) = a == b
|
||||||
|
fun eqeqStr(a:String, b:String) = a == b
|
||||||
|
|
||||||
//fun eqeqStr(a:String, b:String) = a == b
|
fun gtI (a:Int, b:Int ) = a > b
|
||||||
|
fun ltI (a:Int, b:Int ) = a > b
|
||||||
|
fun geI (a:Int, b:Int ) = a >= b
|
||||||
|
fun leI (a:Int, b:Int ) = a <= b
|
||||||
|
fun neI (a:Int, b:Int ) = a != b
|
||||||
|
|
||||||
|
fun gtF (a:Float, b:Float ) = a > b
|
||||||
|
fun ltF (a:Float, b:Float ) = a > b
|
||||||
|
fun geF (a:Float, b:Float ) = a >= b
|
||||||
|
fun leF (a:Float, b:Float ) = a <= b
|
||||||
|
fun neF (a:Float, b:Float ) = a != b
|
||||||
|
|
||||||
|
|
||||||
|
fun helloString() = "Hello"
|
||||||
|
fun goodbyeString() = "Goodbye"
|
||||||
Reference in New Issue
Block a user