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"
|
||||
}
|
||||
|
||||
task eqeq(type: UnitKonanTest) {
|
||||
source = "codegen/function/eqeq.kt"
|
||||
}
|
||||
|
||||
task cycle(type: UnitKonanTest) {
|
||||
source = "codegen/cycles/cycle.kt"
|
||||
}
|
||||
|
||||
@@ -9,6 +9,22 @@ run_test() {
|
||||
int (*eqeqL)(int64_t, int64_t) = resolve_symbol("kfun:eqeqL(Long;Long)");
|
||||
int (*eqeqF)(float , float ) = resolve_symbol("kfun:eqeqF(Float;Float)");
|
||||
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 (!eqeqS(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 (!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;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,23 @@
|
||||
fun eqeqB(a:Byte, b:Byte ) = a == b
|
||||
fun eqeqS(a:Short, b:Short ) = a == b
|
||||
fun eqeqI(a:Int, b:Int ) = a == b
|
||||
fun eqeqL(a:Long, b:Long ) = a == b
|
||||
fun eqeqF(a:Float, b:Float ) = a == b
|
||||
fun eqeqD(a:Double, b:Double) = a == b
|
||||
fun eqeqB (a:Byte, b:Byte ) = a == b
|
||||
fun eqeqS (a:Short, b:Short ) = a == b
|
||||
fun eqeqI (a:Int, b:Int ) = a == b
|
||||
fun eqeqL (a:Long, b:Long ) = a == b
|
||||
fun eqeqF (a:Float, b:Float ) = 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