#include <linux/bitops.h>
#include <counter/counter.h>
#include <counter/counter-internal.h>
+#include <wrapper/limits.h>
/*
* Using unsigned arithmetic because overflow is defined.
} while (old != res);
break;
}
+ default:
+ return -EINVAL;
}
if (v > 0 && (v >= U8_MAX || n < old))
overflow = true;
- else if (v < 0 && (v <= -U8_MAX || n > old))
+ else if (v < 0 && (v <= -(s64) U8_MAX || n > old))
underflow = true;
break;
}
} while (old != res);
break;
}
+ default:
+ return -EINVAL;
}
if (v > 0 && (v >= U16_MAX || n < old))
overflow = true;
- else if (v < 0 && (v <= -U16_MAX || n > old))
+ else if (v < 0 && (v <= -(s64) U16_MAX || n > old))
underflow = true;
break;
}
} while (old != res);
break;
}
+ default:
+ return -EINVAL;
}
if (v > 0 && (v >= U32_MAX || n < old))
overflow = true;
- else if (v < 0 && (v <= -U32_MAX || n > old))
+ else if (v < 0 && (v <= -(s64) U32_MAX || n > old))
underflow = true;
break;
}
} while (old != res);
break;
}
+ default:
+ return -EINVAL;
}
if (v > 0 && n < old)
overflow = true;