View source code
Display the source code in core/checkedint.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function core.checkedint.negs

Negate an integer.

int negs (
  int x,
  ref bool overflow
);

long negs (
  long x,
  ref bool overflow
);

Parameters

NameDescription
x operand
overflow set if x cannot be negated, is not affected otherwise

Returns

the negation of x

Example

bool overflow;
writeln(negs(0, overflow)); // -0
assert(!overflow);

writeln(negs(1234, overflow)); // -1234
assert(!overflow);

writeln(negs(-5678, overflow)); // 5678
assert(!overflow);

writeln(negs(int.min, overflow)); // -int.min
assert(overflow);

writeln(negs(0, overflow)); // -0
assert(overflow);                   // sticky

Example

bool overflow;
writeln(negs(0L, overflow)); // -0
assert(!overflow);

writeln(negs(1234L, overflow)); // -1234
assert(!overflow);

writeln(negs(-5678L, overflow)); // 5678
assert(!overflow);

writeln(negs(long.min, overflow)); // -long.min
assert(overflow);

writeln(negs(0L, overflow)); // -0
assert(overflow);                   // sticky

Authors

Walter Bright

License

Boost License 1.0