16 bool AllowSignConversions)
const {
19 if (IsUnsigned && !AllowSignConversions &&
24 if (AllowSignConversions) {
25 if (
Value.isSigned() && !IsUnsigned)
26 MinBits =
Value.getSignificantBits();
28 MinBits =
Value.getActiveBits();
36 MinBits =
Value.getSignificantBits() - IsUnsigned;
38 MinBits =
Value.getActiveBits() + !IsUnsigned;
41 if (MinBits <= BitWidth)
RangeTestResultKind
Used to classify whether a value is representable using this type.
@ RTR_Within
Value is representable using this type.
@ RTR_Below
Value is less than the minimum representable value.
@ RTR_Above
Value is greater than the maximum representable value.
RangeTestResultKind testInRange(const llvm::APSInt &Val, bool AllowMixedSign) const LLVM_READONLY
Tests whether a given value is losslessly representable using this type.
The JSON file list parser is used to communicate input to InstallAPI.