COB_MOD function

dynamic COB_MOD(
  1. dynamic v1,
  2. dynamic v2
)

MOD: result's sign matches the divisor (COBOL standard)

Implementation

dynamic COB_MOD(dynamic v1, dynamic v2) {
  final n = varToInt(v1);
  final d = varToInt(v2);
  if (d == 0) return 0;
  var r = n % d;
  if (r != 0 && (r < 0) != (d < 0)) r += d;
  return r;
}