(15/42/47): Floor and Ceiling Functions
11-04-2023, 12:46 AM (This post was last modified: 12-23-2023 01:32 AM by Eddie W. Shore.)
Post: #1
 Eddie W. Shore Senior Member Posts: 1,580 Joined: Dec 2013
(15/42/47): Floor and Ceiling Functions
HP 15C

(not accurate for -1 < x < 0)

Three labels are used:
D: floor function
E: ceiling function
1: used in calculation for both (roll stack down one extra time when frac(x)≠0)
Code assumed starts from line 000.

Code:
step #:  key code : key 000:  42, 21, 14:  LBL D 001:  __, __, 36:  ENTER 002:  __, 42, 44:  FRAC 003:  __, 43, 20:  x=0 004:  __, 22, _1:  GTO 1 005:  __, __, 33:  R↓ 006:  __, 43, 44:  INT 007:  43, 30, _3:  TEST 3  (x≥0) 008:  __, 43, 32:  RTN 009:  __, __, _1:  1 010:  __, __, 30:  - 011:  __, 43, 32:  RTN 012:  42, 21, 15:  LBL E 013:  __, __, 36:  ENTER 014:  __, 42, 44:  FRAC 015:  __, 43, 20:  x=0 016:  __, 22, _1:  GTO 1 017:  __, __, 33:  R↓ 018:  __, 43, 44:  INT 019:  43, 30, _2:  TEST 2 (x<0) 020:  __, 43, 32:  RTN 021:  __, __, _1:  1 022:  __, __, 40:  + 023:  __, 43, 32:  RTN 024:  42, 21, _1:  LBL 1 025:  __, __, 33:  R↓ 026:  __, 43, 32:  RTN

DM 42

Code:
00 { 16-Byte Prgm } 01▸LBL "FLOOR" 02 ENTER 03 ENTER 04 1 05 MOD 06 - 07 RTN 08 END 00 { 15-Byte Prgm } 01▸LBL "CEIL" 02 ENTER 03 +/- 04 1 05 MOD 06 + 07 RTN 08 .END.

HP 27S

Code:
FLOOR=X-MOD(X:1) CEIL=X+MOD(-X:1)

Sources:

Wolfram Research, Inc. "Floor Function". Path: Integer Functions > Floor[z] > Representations through equivalent functions > With related functions. Retrieved October 30, 2023.

https://functions.wolfram.com/IntegerFun.../27/01/05/

Wolfram Research, Inc. "Ceiling Function". Path: Integer Functions > Ceiling[z] > Representations through equivalent functions > With related functions. Retrieved October 30, 2023.

https://functions.wolfram.com/IntegerFun.../27/01/05/
12-22-2023, 08:28 AM
Post: #2
 Werner Senior Member Posts: 863 Joined: Dec 2013
RE: (15/42/47): Floor and Ceiling Functions
Hello Eddie;
I'm afraid the 15C versions are not correct; both FLOOR and CEIL fail for X=-0.5, returning 0 and 1 respectively.

Here's what I've been able to come up with for FLOOR; CEIL is similar
2 stack levels, 9 bytes without LBL and RTN. Using, but not changing I

In: L.XYZT
Out: X.FYZ-

with F=FLOOR(X)

INT
X<> I
LASTX
FRAC
TEST 2 ( X<0? )
DSE I  ( always skips )
CHS    ( nop )
Rv
X<> I

Cheers, Werner

41CV†,42S,48GX,49G,DM42,DM41X,17BII,15CE,DM15L,12C,16CE
12-22-2023, 01:55 PM
Post: #3
 Albert Chan Senior Member Posts: 2,516 Joined: Jul 2018
RE: (15/42/47): Floor and Ceiling Functions
(12-22-2023 08:28 AM)Werner Wrote:  Here's what I've been able to come up with for FLOOR; CEIL is similar ...

Or, we reuse code: CEIL(x) = -FLOOR(-x)
12-24-2023, 10:08 AM
Post: #4
 Werner Senior Member Posts: 863 Joined: Dec 2013
RE: (15/42/47): Floor and Ceiling Functions
(12-22-2023 01:55 PM)Albert Chan Wrote:
(12-22-2023 08:28 AM)Werner Wrote:  Here's what I've been able to come up with for FLOOR; CEIL is similar ...

Or, we reuse code: CEIL(x) = -FLOOR(-x)

Hi Albert; yes but that uses a subroutine level ;-)

Cheers, Werner

41CV†,42S,48GX,49G,DM42,DM41X,17BII,15CE,DM15L,12C,16CE
03-23-2024, 03:47 PM
Post: #5
 SlideRule Senior Member Posts: 1,418 Joined: Dec 2013
RE: (15/42/47): Floor and Ceiling Functions
A modest contribution

1) Some Curious Sequences Involving floor & ceiling functions: The American Mathematical Monthly; Vol. 109, No. 6 (Jun. - Jul., 2002) pp. 559-564

2) Solving Recurrence Relations involving floor & ceiling functions: Electronics Letters; 18th August 1994 Vol. 30 No. 17, pp.1391-1393

3) a Summation Formula for Sequences Involving floor & ceiling functions: ROCKY MOUNTAIN JOURNAL OF MATHEMATICS; Volume 36, Number 5, 2006, pp. 1595-1602

BEST!
SlideRule
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)