nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
manual: CI check with nitunit
[nit.git]
/
tests
/
test_ffi_c_operators.nit
diff --git
a/tests/test_ffi_c_operators.nit
b/tests/test_ffi_c_operators.nit
index
3174cb7
..
d78ceac
100644
(file)
--- a/
tests/test_ffi_c_operators.nit
+++ b/
tests/test_ffi_c_operators.nit
@@
-1,6
+1,6
@@
# This file is part of NIT ( http://www.nitlanguage.org ).
#
# This file is part of NIT ( http://www.nitlanguage.org ).
#
-# Copyright 2011-2013 Alexis Laferrière <alexis.laf@xymus.net>
+# Copyright 2011-2014 Alexis Laferrière <alexis.laf@xymus.net>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@
-15,146
+15,162
@@
# limitations under the License.
class A
# limitations under the License.
class A
- var value : Int
+ var value: Int
- init ( value : Int ) do self.value = value
+ init(value: Int) do self.value = value
- fun +( other : A ) : A import value, A `{
- int s = A_value( recv );
+ fun +(other: A): A import value, A `{
+ int s = A_value( self );
int o = A_value( other );
return new_A( s + o );
`}
int o = A_value( other );
return new_A( s + o );
`}
- fun -( other : A ) : A import value, A `{
- int s = A_value( recv );
+ fun +: A import value, A `{
+ int s = A_value(self);
+ return new_A(+s);
+ `}
+
+ fun -(other: A): A import value, A `{
+ int s = A_value( self );
int o = A_value( other );
return new_A( s - o );
`}
int o = A_value( other );
return new_A( s - o );
`}
- fun *( by : Int ) : A import value, A `{
- int s = A_value( recv );
+ fun -: A import value, A `{
+ int s = A_value(self);
+ return new_A(-s);
+ `}
+
+ fun *(by: Int): A import value, A `{
+ int s = A_value( self );
return new_A( s * by );
`}
return new_A( s * by );
`}
- fun /( by : Int ) : A import value, A `{
- int s = A_value( recv );
+ fun /(by: Int): A import value, A `{
+ int s = A_value( self );
return new_A( s / by );
`}
return new_A( s / by );
`}
- redef fun ==( other ) import value, nullable Object.as(A) `{
+ redef fun ==(other) import value, nullable Object.as(A) `{
if ( nullable_Object_is_a_A( other ) &&
if ( nullable_Object_is_a_A( other ) &&
- A_value( nullable_Object_as_A(other) ) == A_value( recv ) )
+ A_value( nullable_Object_as_A(other) ) == A_value( self ) )
return 1;
else
return 0;
`}
return 1;
else
return 0;
`}
- fun %( other : A ) : A import value, A `{
- return new_A( A_value( recv ) % A_value( other ) );
+ fun %(other: A): A import value, A `{
+ return new_A( A_value( self ) % A_value( other ) );
+ `}
+
+ fun <=>(other: A): A import value, A `{
+ return new_A( A_value( self )* 1024 );
`}
`}
-# fun +=( other : A ) : A import value, value=, A `{
-# int new_val = A_value( recv ) + A_value( other );
-# A_value__assign( recv, new_val );
-# return new_A( new_val );
-# `}
+ fun >(other: A): Bool import value `{
+ return A_value( self ) > A_value( other );
+ `}
-# fun -=( other : A ) : A import +=, A, value `{
-# A inv_other = new_A( -1*A_value( other ) );
-# return A__plus_equal( recv, int_other );
-# `}
+ fun <(other: A): Bool import value `{
+ return A_value( self ) < A_value( other );
+ `}
- fun <=>( other : A ) : A import value, A `{
- return new_A( A_value( recv )* 1024 );
+ fun >=(other: A): Bool import value `{
+ return A_value( self ) >= A_value( other );
`}
`}
-# fun @( other : A ) : A import value, A `{
-# return new_A( A_value( recv )* 1000 );
-# `}
+ fun <=(other: A): Bool import value `{
+ return A_value( self ) <= A_value( other );
+ `}
- fun >( other : A ) : Bool import value `{
- return A_value( recv ) > A_value( other );
+ fun >>(other: A): A import value, value=, A `{
+ int new_val = A_value( self ) >> A_value( other );
+ return new_A(new_val);
`}
`}
- fun <( other : A ) : Bool import value `{
- return A_value( recv ) < A_value( other );
+ fun <<(other: A): A import value, A `{
+ int new_val = A_value( self ) << A_value( other );
+ return new_A(new_val);
`}
`}
- fun >=( other : A ) : Bool import value `{
- return A_value( recv ) >= A_value( other );
+ fun |(other: A): A import value, A `{
+ int new_val = A_value( self ) | A_value( other );
+ return new_A(new_val);
`}
`}
- fun <=( other : A ) : Bool import value `{
- return A_value( recv ) <= A_value( other );
+ fun ^(other: A): A import value, A `{
+ int new_val = A_value( self ) ^ A_value( other );
+ return new_A(new_val);
`}
`}
- fun >>( other : A ) import value, value=, A `{
- int new_val = A_value( recv ) >> A_value( other );
- A_value__assign( recv, new_val );
+ fun ~: A import value, A `{
+ int new_val = ~A_value( self );
+ return new_A(new_val);
`}
`}
- fun <<( other : A ) import value, A `{
- int new_val = A_value( recv ) << A_value( other );
- A_value__assign( recv, new_val );
+ fun &(other: A): A import value, A `{
+ int new_val = A_value( self ) & A_value( other );
+ return new_A(new_val);
`}
`}
- fun []( index : Int ) : A import A `{
+ fun [](index: Int): A import A `{
return new_A( index );
`}
return new_A( index );
`}
- fun []=( index : Int, value : A ) : A import A `{
+ fun []=(index: Int, value: A): A import A `{
return new_A( index + A_value( value ) );
`}
redef fun to_s do return value.to_s
end
return new_A( index + A_value( value ) );
`}
redef fun to_s do return value.to_s
end
-print new A( 1 ) + new A( 10 ) # 11
-print new A( 10 ) - new A( 1 ) # 9
+print new A(1) + new A(10) # 11
+print +new A(123)
+print new A(10) - new A(1) # 9
+print -new A(123)
-print new A( 2 ) * 11 # 22
-print new A( 33 ) / 11 # 3
+print new A(2) * 11 # 22
+print new A(33) / 11 # 3
-#print new A( 44 ) == null # false
-print new A( 55 ) == 55 # false
-print new A( 33 ) == new A( 11 ) # false
-print new A( 22 ) == new A( 77 ) # false
-print new A( 11 ) == new A( 11 ) # true
+print new A(44) == null # false
+print new A(55) == 55 # false
+print new A(33) == new A(11) # false
+print new A(22) == new A(77) # false
+print new A(11) == new A(11) # true
-print new A( 147 ) % new A( 12 ) # 3
-print new A( 4 ) <=> new A( 123 ) # 4096
+print new A(147) % new A(12) # 3
+print new A(4) <=> new A(123) # 4096
-print new A( 1 ) < new A( 100 ) # true
-print new A( 100 ) < new A( 100 ) # false
-print new A( 100 ) < new A( 1 ) # false
+print new A(1) < new A(100) # true
+print new A(100) < new A(100) # false
+print new A(100) < new A(1) # false
-print new A( 1 ) > new A( 100 ) # false
-print new A( 100 ) > new A( 100 ) # false
-print new A( 100 ) > new A( 1 ) # true
+print new A(1) > new A(100) # false
+print new A(100) > new A(100) # false
+print new A(100) > new A(1) # true
-print new A( 1 ) <= new A( 100 ) # true
-print new A( 100 ) <= new A( 100 ) # true
-print new A( 100 ) <= new A( 1 ) # false
+print new A(1) <= new A(100) # true
+print new A(100) <= new A(100) # true
+print new A(100) <= new A(1) # false
-print new A( 1 ) >= new A( 100 ) # false
-print new A( 100 ) >= new A( 100 ) # true
-print new A( 100 ) >= new A( 1 ) # true
+print new A(1) >= new A(100) # false
+print new A(100) >= new A(100) # true
+print new A(100) >= new A(1) # true
-#var x = new A( 1 )
-#x << new A( 5 )
-#print x # 16
+print new A(1) << new A(5) # 32
+print new A(32) >> new A(2) # 8
-#var y = new A( 32 )
-#y >> new A( 2 )
-#print y # 8
+print new A(3) | new A(6) # 7
+print new A(3) ^ new A(6) # 5
+print new A(3) & new A(6) # 2
+print ~new A(3) # -4
-var a = new A( 456 )
-print a[ 52 ] # 52
+var a = new A(456)
+print a[52] # 52
-a[ 74 ] = new A( 96 )
+a[74] = new A(96)
print a # 96
print a # 96
-