Changeset 6a93e4d for libcfa/src/math.trait.hfa
- Timestamp:
- Jun 6, 2023, 8:39:07 AM (17 months ago)
- Branches:
- ast-experimental, master
- Children:
- 541dbc09
- Parents:
- 874b16e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/math.trait.hfa
r874b16e r6a93e4d 10 10 // Created On : Fri Jul 16 15:40:52 2021 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Feb 2 11:36:56202313 // Update Count : 2 012 // Last Modified On : Tue Jun 6 07:59:17 2023 13 // Update Count : 24 14 14 // 15 15 … … 17 17 18 18 forall( U ) 19 trait Not {19 trait not { 20 20 void ?{}( U &, zero_t ); 21 21 int !?( U ); 22 }; // Not22 }; // not 23 23 24 forall( T | Not( T ) )25 trait Equality {24 forall( T | not( T ) ) 25 trait equality { 26 26 int ?==?( T, T ); 27 27 int ?!=?( T, T ); 28 }; // Equality28 }; // equality 29 29 30 forall( U | Equality( U ) )31 trait Relational {30 forall( U | equality( U ) ) 31 trait relational { 32 32 int ?<?( U, U ); 33 33 int ?<=?( U, U ); 34 34 int ?>?( U, U ); 35 35 int ?>=?( U, U ); 36 }; // Relational36 }; // relational 37 37 38 38 forall ( T ) 39 trait Signed { 39 trait Signed { // must be capitalized, conflict with keyword signed 40 40 T +?( T ); 41 41 T -?( T ); … … 44 44 45 45 forall( U | Signed( U ) ) 46 trait Additive {46 trait additive { 47 47 U ?+?( U, U ); 48 48 U ?-?( U, U ); 49 49 U ?+=?( U &, U ); 50 50 U ?-=?( U &, U ); 51 }; // Additive51 }; // additive 52 52 53 forall( T | Additive( T ) )54 trait Incdec {53 forall( T | additive( T ) ) 54 trait inc_dec { 55 55 void ?{}( T &, one_t ); 56 56 // T ?++( T & ); … … 58 58 // T ?--( T & ); 59 59 // T --?( T & ); 60 }; // Incdec60 }; // inc_dec 61 61 62 forall( U | Incdec( U ) )63 trait Multiplicative {62 forall( U | inc_dec( U ) ) 63 trait multiplicative { 64 64 U ?*?( U, U ); 65 65 U ?/?( U, U ); 66 66 U ?%?( U, U ); 67 67 U ?/=?( U &, U ); 68 }; // Multiplicative68 }; // multiplicative 69 69 70 forall( T | Relational( T ) | Multiplicative( T ) )71 trait Arithmetic {72 }; // Arithmetic70 forall( T | relational( T ) | multiplicative( T ) ) 71 trait arithmetic { 72 }; // arithmetic 73 73 74 74 // Local Variables: //
Note: See TracChangeset
for help on using the changeset viewer.