Source/Packages

Std.Numeric.Profile

packages/foundation/standard/src/Std/Numeric/Profile.alpha

736 lines139 declarations26.5 KiBSHA-256 2450517e3794

def · lines 458–479

stdProfileAdmits

Full file
does the profile admit an operation at a precision? The precision must be the profile's storage format, and the operation must not be Unsupported in its table (an Unmeasured bound is admitted: it is realized, only not yet measured)
458def stdProfileAdmits =
459  (lambda unrestricted profile : (family StdNumericProfile) .
460    (lambda unrestricted format : (family StdNumericFormat) .
461      (lambda unrestricted operation : (family StdNumericOperation) .
462        (stdAdmissionWhen
463          (naturalEqual
464            (stdNumericFormatCode format)
465            (stdNumericFormatCode (stdNumericProfileStorageOf profile)))
466          (stdAdmissionWhen
467            (stdApproximationIsUnsupported
468              (stdApproximationOf operation (stdNumericProfileTable profile)))
469            (constructor
470              StdNumericAdmission
471              StdAdmissionRejected
472              b"ALPHA-ADMISSION-UNSUPPORTED-OPERATION"
473              b"the profile declares the requested operation unsupported")
474            stdAdmitted)
475          (constructor
476            StdNumericAdmission
477            StdAdmissionRejected
478            b"ALPHA-ADMISSION-UNSUPPORTED-PRECISION"
479            b"the requested precision is not the profile's storage format")))))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.