mirror of
https://gitlab.com/c3d/db48x.git
synced 2024-09-29 05:36:58 +02:00
e1a7e2fc43
The `Min` and `Max` functions compare two elements. For arrays, they perform an element-by-element comparison. For lists, they perform a a lexicographic order comparison. Fixes: #603 Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
17 KiB
17 KiB
Implementation status
This section documents the implementation status for all HP50 RPL commands as listed in the HP50G Advanced Reference Manual. This is a strict superset of the HP48 implementation.
Implemented commands
The following is a list of the HP50 RPL commands which are implemented in DB48X.
- ! (Factorial)
- + (Add)
- < (Less than)
- == (Different meaning: object equality)
- = (Equal)
- > (Greater than)
- ABS
- ACOSH
- ACOS
- ADD
- ALOG
- AND
- ARG
- ASINH
- ASIN
- ATANH
- ATAN
- AXES
- BIN
- BYTES
- B→R
- CASE
- CF
- CLLCD
- CLΣ
- CONJ
- CONT
- CONVERT
- COSH
- COS
- CRDIR
- C→R
- DBUG
- DEC
- DEG
- DEPTH
- DET
- DIR
- DISP
- DOERR
- DO
- DRAW
- DRAX
- DROP2
- DROPN
- DROP
- DTAG
- DUP2
- DUPN
- DUP
- ELSE
- END
- ENG
- ERR0
- ERRM
- ERRN
- EVAL
- EXPAND
- EXPAN
- EXPM
- EXP
- FACT
- FC?C
- FC?
- FIX
- FOR
- FP
- FS?C
- FS?
- FUNCTION
- GAMMA
- GET
- GOR
- GROB
- GXOR
- HALT
- HELP (Different meaning)
- HEX
- HOME
- IFERR
- IFTE
- IFT
- IF
- IM
- INV
- IP
- KILL
- LASTARG
- LINE
- LNP1
- LN
- LOG
- MAX
- MAXΣ
- MEAN
- MEM
- MIN
- MINΣ
- MOD
- NEG
- NEXT
- NOT
- OBJ→
- OCT
- OFF
- OR
- OVER
- PARAMETRIC
- PATH
- PGDIR
- PICK
- PICT
- POLAR
- PURGE
- RAD
- RCL
- RCWS
- RECT (Different meaning: draws a rectangle)
- REPEAT
- REWRITE (Different meaning: performs a rewrite)
- ROLLD
- ROLL
- ROOT
- ROT
- R→B
- R→C
- SAME
- SCI
- SF
- SIGN
- SINH
- SIN
- SQ
- SST
- SST↓
- STEP
- STORE (Different meaning: long form of STO)
- STO
- STWS
- SWAP
- TANH
- TAN
- THEN
- TICKS
- TYPE
- UBASE
- UFACT
- UNTIL
- UPDIR
- UVAL
- VERSION
- WAIT
- WHILE
- XCOL
- XOR
- XROOT
- YCOL
- ^ (Power)
- i
- «» (Program delimiters)
- × (Multiply)
- ÷ (Divide)
- ΣXY
- ΣX
- ΣX²
- ΣY
- ΣY²
- π (Pi)
- – (Subtract)
- →LIST
- →NUM
- →Q
- →STR
- STR→
- →TAG
- →UNIT
- → (Create Local)
- √ (Square root)
- ∫ (Integrate)
- ≠ (Not equal)
- ≤ (Less than or equal)
- ≥ (Greater than or Equal)
- _ (Unit attachment)
Unimplemented commands
The following is a list of unimplemented HP50 RPL commands, which is a superset of the HP48
commands.
- ABCUV
- ACK
- ACKALL
- ACOS2S
- ADDTMOD
- ADDTOREAL
- ALGB
- AMORT
- ANIMATE
- ANS
- APPLY
- ARC
- ARCHIVE
- ARIT
- ARRY→
- →ARRY
- ASIN2C
- ASIN2T
- ASN
- ASR
- ASSUME
- ATAN2S
- ATICK
- ATTACH
- AUGMENT
- AUTO
- AXL
- AXM
- AXQ
- BAR
- BARPLOT
- BASIS
- BAUD
- BEEP
- BESTFIT
- BINS
- BLANK
- BOX
- BUFLEN
- C$
- C2P
- CASCFG
- CASCMD
- CEIL
- CENTR
- %CH
- CHINREM
- CHOLESKY
- CHOOSE
- CHR
- CIRC
- CKSM
- CLEAR
- CLKADJ
- CLOSEIO
- CLUSR
- CLVAR
- CMPLX
- CNRM
- →COL
- COL→
- COL–
- COL+
- COLCT
- COLLECT
- COLΣ
- COMB
- CON
- COND
- CONIC
- CONLIB
- CONST
- CONSTANTS
- CORR
- COV
- CR
- CROSS
- CSWP
- CURL
- CYCLOTOMIC
- CYLIN
- C→PX
- DARCY
- DATE
- →DATE
- DATE+
- DDAYS
- DECR
- DEDICACE
- DEF
- DEFINE
- DEGREE
- DELALARM
- DELAY
- DELKEYS
- DEPND
- DERIV
- DERVX
- DESOLVE
- DETACH
- DIAG→
- →DIAG
- DIAGMAP
- DIFF
- DIFFEQ
- DISPXY
- DISTRIB
- DIV
- DIV2
- DIV2MOD
- DIVIS
- DIVMOD
- DIVPC
- dn
- DOLIST
- DOMAIN
- DOSUBS
- DOT
- DRAW3DMATRIX
- DROITE
- DUPDUP
- D→R
- e
- EDIT
- EDITB
- EGCD
- EGV
- EGVL
- ENDSUB
- EPSX0
- EQNLIB
- EQW
- EQ→
- ERASE
- EULER
- EXLR
- EXP&LN
- EXP2HYP
- EXP2POW
- EXPANDMOD
- EXPFIT
- EXPLN
- EYEPT
- F0λ
- FACTOR
- FACTORMOD
- FACTORS
- FANNING
- FAST3D
- FCOEF
- FDISTRIB
- FFT
- FILER
- FINDALARM
- FINISH
- FLASHEVAL
- FLOOR
- FONT6
- FONT7
- FONT8
- FONT→
- →FONT
- FOURIER
- FREE
- FREEZE
- FROOTS
- FXND
- GAUSS
- GBASIS
- GCD
- GCDMOD
- GETI
- GRAD
- GRAMSCHMIDT
- GRAPH
- GREDUCE
- GRIDMAP
- →GROB
- GROBADD
- *H
- HADAMARD
- HALFTAN
- HEAD
- HEADER→
- →HEADER
- HERMITE
- HESS
- HILBERT
- HISTOGRAM
- HISTPLOT
- HMS–
- HMS+
- HMS→
- →HMS
- HORNER
- IABCUV
- IBASIS
- IBERNOULLI
- IBP
- ICHINREM
- IDN
- IDIV2
- IEGCD
- IFFT
- ILAP
- IMAGE
- INCR
- INDEP
- INFORM
- INPUT
- INT
- INTEGER
- INTVX
- INVMOD
- IQUOT
- IREMAINDER
- ISOL
- ISOM
- ISPRIME?
- I→R
- JORDAN
- KER
- KERRM
- KEY
- KEYEVAL
- →KEYTIME
- KEYTIME→
- KGET
- LABEL
- LAGRANGE
- LANGUAGE→
- →LANGUAGE
- LAP
- LAPL
- LAST
- LCD→
- →LCD
- LCM
- LCXM
- LDEC
- LEGENDRE
- LGCD
- LIBEVAL
- LIBS
- lim
- LIMIT
- LIN
- ΣLINE
- LINFIT
- LININ
- LINSOLVE
- LIST→
- ∆LIST
- ΠLIST
- ΣLIST
- LNAME
- LNCOLLECT
- LOCAL
- LOGFIT
- LQ
- LR
- LSQ
- LU
- LVAR
- MAD
- MAIN
- MANT
- MAP
- ↓MATCH
- ↑MATCH
- MATHS
- MATR
- MAXR
- MCALC
- MENU
- MENUXY
- MERGE
- MINEHUNT
- MINIFONT→
- →MINIFONT
- MINIT
- MINR
- MITM
- MKISOM
- MODSTO
- MODULAR
- MOLWT
- MROOT
- MSGBOX
- MSLV
- MSOLVR
- MULTMOD
- MUSER
- →NDISP
- NDIST
- NDUPN
- NEWOB
- NEXTPRIME
- NIP
- NOVAL
- NΣ
- NSUB
- NUM
- NUMX
- NUMY
- OLDPRT
- OPENIO
- ORDER
- P2C
- PA2B2
- PARITY
- PARSURFACE
- PARTFRAC
- PCAR
- PCOEF
- PCONTOUR
- PCOV
- PDIM
- PERINFO
- PERM
- PERTBL
- PEVAL
- PICK3
- PICTURE
- PINIT
- PIX?
- PIXOFF
- PIXON
- PKT
- PLOT
- PLOTADD
- PMAX
- PMIN
- PMINI
- POLYNOMIAL
- POP
- POS
- POTENTIAL
- POWEXPAND
- POWMOD
- PR1
- PREDV
- PREDX
- PREDY
- PREVAL
- PREVPRIME
- PRLCD
- PROMPT
- PROMPTSTO
- PROOT
- PROPFRAC
- PRST
- PRSTC
- PRVAR
- PSDEV
- PSI
- Psi
- PTAYL
- PTPROP
- PUSH
- PUT
- PUTI
- PVAR
- PVARS
- PVIEW
- PWRFIT
- PX→C
- →Qπ
- qr
- QR
- QUAD
- QUOT
- QUOTE
- QXA
- RAND
- RANK
- RANM
- RATIO
- RCEQ
- RCI
- RCIJ
- RCLALARM
- RCLF
- RCLKEYS
- RCLMENU
- RCLVX
- RCLΣ
- RDM
- RDZ
- RE
- RECN
- RECV
- REF
- REMAINDER
- RENAME
- REORDER
- REPL
- RES
- RESTORE
- RESULTANT
- REVLIST
- RISCH
- RKF
- RKFERR
- RKFSTEP
- RL
- RLB
- RND
- RNRM
- ROMUPLOAD
- ROW–
- ROW+
- ROW→
- →ROW
- RPL>
- RR
- RRB
- rref
- RREF
- RREFMOD
- RRK
- RRKSTEP
- RSBERR
- RSD
- RSWP
- RULES
- R→D
- R→I
- SBRK
- SCALE
- SCALEH
- SCALEW
- SCATRPLOT
- SCATTER
- SCHUR
- SCLΣ
- SCONJ
- SCROLL
- SDEV
- SEND
- SEQ
- SERIES
- SERVER
- SEVAL
- SHOW
- SIDENS
- SIGMA
- SIGMAVX
- SIGNTAB
- SIMP2
- SIMPLIFY
- SINCOS
- SINV
- SIZE
- SL
- SLB
- SLOPEFIELD
- SNEG
- SNRM
- SOLVE
- SOLVEQN
- SOLVER
- SOLVEVX
- SORT
- SPHERE
- SR
- SRAD
- SRB
- SRECV
- SREPL
- START
- STD
- STEQ
- STIME
- STOALARM
- STOF
- STOKEYS
- STOVX
- STO+
- STO–
- STO*
- STO/
- STOΣ
- STREAM
- STRM
- STURM
- STURMAB
- SUB
- SUBST
- SUBTMOD
- SVD
- SVL
- SYSEVAL
- SYLVESTER
- SYST2MAT
- %T
- TABVAL
- TABVAR
- TAIL
- TAN2CS2
- TAN2SC
- TAN2SC2
- TAYLOR0
- TAYLR
- TCHEBYCHEFF
- TCOLLECT
- TDELTA
- TESTS
- TEVAL
- TEXPAND
- TEXT
- TIME
- →TIME
- TINC
- TLIN
- TLINE
- TMENU
- TOT
- TRACE
- TRAN
- TRANSIO
- TRIG
- TRIGCOS
- TRIGO
- TRIGSIN
- TRIGTAN
- TRN
- TRNC
- TRUNC
- TRUTH
- TSIMP
- TSTR
- TVARS
- TVM
- TVMBEG
- TVMEND
- TVMROOT
- UFL1→MINIF
- UNASSIGN
- UNASSUME
- UNBIND
- UNPICK
- UNROT
- UTPC
- UTPF
- UTPN
- UTPT
- V→
- →V2
- →V3
- VANDERMONDE
- VAR
- VARS
- VER
- VISIT
- VISITB
- VPOTENTIAL
- VTYPE
- *W
- WIREFRAME
- WSLOG
- XGET
- XMIT
- XNUM
- XPON
- XPUT
- XQ
- XRECV
- XRNG
- XSEND
- XSERV
- XVOL
- XXRNG
- YRNG
- YSLICE
- YVOL
- YYRNG
- ZEROS
- ZFACTOR
- ZVOL
- | (Where)
- ?
- ∞
- Σ
- Σ+
- Σ–
- ∂
- % (Percent)
- (Store)
- ; (Semicolon)
Additional commands
The following commands are unique to DB48X and are not found in any Hewlett-Packard RPL implementation.
- ATAN2: Arc-tangent from two arguments
- AngleUnitsMenu
- AnglesMenu
- ApplyInverseUnit
- ApplyUnit
- AreaUnitsMenu
- AutoSimplify: Automatically simplify expressions
- BASE: Select an arbitrary base for based numbers
- Background: Select background pattern for graphic operations
- BasedDotOrComma: Use dot or comma as based number digit separator
- BasedSpaces: Use thin spaces as based number digit separator
- BasedSpacing: Grouping of digits for based numbers
- BasedTicks: Use tick marsk
'
as based number digit separator - BasedUnderscore: Use underscore
_
as based number digit separator - BasesMenu
- CBRT: Cube root
- CYCLE: Cycle between object representations
- Capitalized: Show commands capitalized
- Catalog: Present catalog of all functions with auto-completion
- CharsMenu
- CircularMenu
- ClassicExponent: Use E as exponent marker, e.g. 1.3E128
- ClearThingsMenu
- CompareMenu
- ComplexMenu
- ComputerUnitsMenu
- ConstantsMenu
- ConvertToUnitPrefix
- ConvertToUnit
- CursorBlinkRate: Select cursor blink rate in milliseconds
- DebugMenu
- DecimalComma: Select comma as decimal separator
- DecimalDot: Select dot as decimal separator
- DifferentialSolverMenu
- DifferentiationMenu
- DisplayModesMenu
- EQUIV: Logical equivalence
- ERFC: Complementary error function
- ERF: Error function
- EXCLUDES: Logical exclusion
- EditMenu
- EditorBegin
- EditorClear
- EditorCopy
- EditorCut
- EditorEnd
- EditorFlip
- EditorFontSize: Select font size for text editor
- EditorMultilineFontSize: Select font size for multi-line text editor
- EditorPaste
- EditorReplace
- EditorSearch
- EditorSelect
- EditorWordLeft
- EditorWordRight
- ElectricityUnitsMenu
- EnergyUnitsMenu
- EquationsMenu
- ExpLogMenu
- FancyExponent: Use power-of-ten rendering, e.g. 1.3×₁₀¹²⁸
- FilesMenu
- FinanceSolverMenu
- FlagsMenu
- FlatMenus: Flatten menus (no use of shift)
- ForceUnitsMenu
- Foreground: Select foreground pattern for graphic operations
- FractionSpacing: Grouping of digits for fractional part of numbers
- FractionsMenu
- GAND: Graphical And
- GarbageCollect
- GraphicsMenu
- GraphicsStackDisplay: Select graphic display of the stack
- HYPOT: Hypothenuse
- HideBuiltinUnits
- HyperbolicMenu
- IMPLIES: Logical implication
- IOMenu
- IntegrationMenu
- LastMenu: Select last menu
- LastX: Return last X argument (for easier translation of RPN programs)
- LengthUnitsMenu
- LibsMenu
- LightUnitsMenu
- LineWidth: Select line width for line drawing operations
- LinearSolverMenu
- ListMenu
- LongForm: Show commands in long form
- LoopsMenu
- LowerCase: Show commands in lowercase
- MainMenu
- MantissaSpacing: Grouping of digits for whole part of numbers
- MassUnitsMenu
- MathMenu
- MathModesMenu
- MatrixMenu
- MaxBigNumBits: Maximum number of bits for a big integer
- MaxRewrites: Maximum number of equation rewrites
- MemMenu
- MenuFirstPage
- MenuNextPage
- MenuPreviousPage
- MinimumSignificantDigits: adjustment of FIX mode switch to SCI
- ModesMenu
- MultiSolverMenu
- NAND: Not And
- NOR: Not Or
- NoAutoSimplify: Do not automatically simplify expressions
- NoTrailingDecimal: display 1.0 as 1
- NumberDotOrComma: Use dot or comma as digit group separator
- NumberSpaces: Use thin spaces as digit group separator
- NumberTicks: Use tick marks
'
as digit group separator - NumberUnderscore: Use underscore
_
as digit group separator - NumbersMenu
- NumericResults: Produce numeric (decimal) results
- NumericalSolverMenu
- ObjectMenu
- PIRADIANS: Angle mode with multiples of pi
- PartsMenu
- PlotMenu
- PolynomialSolverMenu
- PolynomialsMenu
- PowerUnitsMenu
- PowersMenu
- Precision: Select decimal computing precision
- PressureUnitsMenu
- PrintingMenu
- ProbabilitiesMenu
- ProgramMenu
- REM: remainder
- RadiationUnitsMenu
- RealMenu
- ResultFontSize: Select font size to display level 1 of stack
- RoundedMenus: Select round menu style
- SIG: Significant digits mode
- SaveState: Save system state to current state file
- SelfInsert
- SeparatorModesMenu
- ShowBuiltinUnits
- SignalProcessingMenu
- SingleRowMenus: Display menus on single row
- SolverMenu
- SpeedUnitsMenu
- SquareMenus: Select square (C47-like) menu style
- StackFontSize: Select font size to display levels above 1 of stack
- StackMenu
- StandardExponent: Display with standard exponent mode
- StatisticsMenu
- SymbolicMenu
- SymbolicResults: Produce symbolic results
- SymbolicSolverMenu
- SystemMemory
- SystemSetup: Enter DMCP system setup menu
- Tag→
- TemperatureUnitsMenu
- TestsMenu
- TextMenu
- TextStackDisplay: Select text-only display of the stack
- ThreeRowsMenus: Display menus on up to three rows
- TimeMenu
- TimeUnitsMenu
- ToFractionDigits: Required digits of precision for →Q
- ToFractionIterations: Max number of iterations for →Q
- ToolsMenu: Automatically select a menu based on context
- TrailingDecimal: display 1.0 with trailing decimal separator
- TypeName
- Undo: Restore stack to state before command
- UnitsConversionsMenu
- UnitsMenu
- UpperCase: Show commands in uppercase
- UserInterfaceModesMenu
- VariablesMenuExecute
- VariablesMenuRecall
- VariablesMenuStore
- VariablesMenu
- VectorMenu
- ViscosityUnitsMenu
- VolumeUnitsMenu