From APL Wiki
Revision as of 21:57, 28 November 2022 by Adám Brudzewsky (talk | contribs) (→‎References)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Ceiling () is a monadic scalar function that gives the ceiling of a real number, that is, the least integer tolerantly[1] greater than or equal to the given value. This operation is also known as round up. Ceiling shares the glyph with the dyadic arithmetic function Maximum. Traditional mathematics derives its notation and name for ceiling from APL.


Ceiling rounds up the given numbers to the nearest integers.

      ⌈2 2.8 ¯2 ¯2.8
2 3 ¯2 ¯2


The ceiling of any real number is an integer.

Ceiling is affected by comparison tolerance. If the given number is tolerantly equal to its floor, it is rounded to that number instead.

      ⎕←v←1+0.6×⎕CT×0 1 2
1 1.000000000000006 1.000000000000012
1 1 2

Ceiling is the dual to Floor by negation.

      v←2 2.8 ¯2 ¯2.8

The extension for complex numbers is derived from complex Floor via this property.

      v←1.8J2.5 2.5J2.2 1.7J2.2
2J3 3J2 2J2
Works in: Dyalog APL

External links



  1. Bernecky, Robert. "Comparison Tolerance". Sharp APL Technical Notes. 1977-06-10;.
APL built-ins [edit]
Primitives (Timeline) Functions
Monadic ConjugateNegateSignumReciprocalMagnitudeExponentialNatural LogarithmFloorCeilingFactorialNotPi TimesRollTypeImaginarySquare Root
Dyadic AddSubtractTimesDivideResiduePowerLogarithmMinimumMaximumBinomialComparison functionsBoolean functions (And, Or, Nand, Nor) ∙ GCDLCMCircularComplexRoot
Structural ShapeReshapeTallyDepthRavelEnlistTableCatenateReverseRotateTransposeRazeMixSplitEncloseNestCut (K)PairLinkPartitioned EnclosePartition
Selection FirstPickTakeDropUniqueIdentityStopSelectReplicateExpandSet functions (IntersectionUnionWithout) ∙ Bracket indexingIndexCartesian ProductSort
Selector Index generatorGradeIndex OfInterval IndexIndicesDealPrefix and suffix vectors
Computational MatchNot MatchMembershipFindNub SieveEncodeDecodeMatrix InverseMatrix DivideFormatExecuteMaterialiseRange
Operators Monadic EachCommuteConstantReplicateExpandReduceWindowed ReduceScanOuter ProductKeyI-BeamSpawnFunction axis
Dyadic BindCompositions (Compose, Reverse Compose, Beside, Withe, Atop, Over) ∙ Inner ProductDeterminantPowerAtUnderRankDepthVariantStencilCutDirect definition (operator)
Quad names Index originComparison toleranceMigration levelAtomic vector