Ceiling

From APL Wiki
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.

Examples

Ceiling rounds up the given numbers to the nearest integers.

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

Properties

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.

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

Ceiling is the dual to Floor by negation.

      v←2 2.8 ¯2 ¯2.8
      (⌈v)≡-⌊-v
1

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

      v←1.8J2.5 2.5J2.2 1.7J2.2
      ⌈v
2J3 3J2 2J2
      (⌈v)≡-⌊-v
1
Works in: Dyalog APL

External links

Documentation

References

  1. Bernecky, Robert. "Comparison Tolerance". Sharp APL Technical Notes. 1977-06-10;.
APL built-ins [edit]
Primitives (Timeline) Functions
Scalar
Monadic ConjugateNegateSignumReciprocalMagnitudeExponentialNatural LogarithmFloorCeilingFactorialNotPi TimesRollTypeImaginarySquare Root
Dyadic AddSubtractTimesDivideResiduePowerLogarithmMinimumMaximumBinomialComparison functionsBoolean functions (And, Or, Nand, Nor) ∙ GCDLCMCircularComplexRoot
Non-Scalar
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