@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
33 lines • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.intervalFrom = intervalFrom;
exports.intervalFromValues = intervalFromValues;
const r_value_1 = require("../r-value");
const scalar_constants_1 = require("../scalar/scalar-constants");
/**
*
*/
function intervalFrom(start, end = start, startInclusive = true, endInclusive = true) {
return intervalFromValues(typeof start === 'number' ? (0, scalar_constants_1.getScalarFromInteger)(start) : (0, scalar_constants_1.liftScalar)(start), typeof end === 'number' ? (0, scalar_constants_1.getScalarFromInteger)(end) : (0, scalar_constants_1.liftScalar)(end), startInclusive, endInclusive);
}
function shiftNum(v) {
if ((0, r_value_1.isBottom)(v) || (0, r_value_1.isTop)(v)) {
return (0, scalar_constants_1.liftScalar)(v);
}
else {
return v;
}
}
/**
*
*/
function intervalFromValues(start, end = start, startInclusive = true, endInclusive = true) {
return {
type: 'interval',
start: shiftNum(start),
end: shiftNum(end),
startInclusive,
endInclusive,
};
}
//# sourceMappingURL=interval-constants.js.map