4.5.4 Unary Adding Operators
Static Semantics
The 
unary adding operators + (identity) and – (negation) are predefined 
for every specific numeric type 
T with their conventional meaning. 
They have the following specifications: 
 
function "+"(Right : T) return T
function "-"(Right : T) return T
16  For modular integer types, the unary 
adding operator –, when given a nonzero operand, returns the result 
of subtracting the value of the operand from the modulus; for a zero 
operand, the result is zero. 
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe