docs/rpn.1: added manpage
This commit is contained in:
		
							parent
							
								
									f7108245ea
								
							
						
					
					
						commit
						42d268319e
					
				
							
								
								
									
										63
									
								
								docs/rpn.1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								docs/rpn.1
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,63 @@
 | 
			
		||||
.\" Copyright (c) 2024 Emma Tebibyte <emma@tebibyte.media>
 | 
			
		||||
.\"
 | 
			
		||||
.\" This work is licensed under CC BY-SA 4.0. To see a copy of this license,
 | 
			
		||||
.\" visit <http://creativecommons.org/licenses/by-sa/4.0/>.
 | 
			
		||||
 | 
			
		||||
.TH rpn 1
 | 
			
		||||
 | 
			
		||||
.SH NAME
 | 
			
		||||
 | 
			
		||||
npc \(en reverse polish notation evaluation
 | 
			
		||||
 | 
			
		||||
.SH SYNOPSIS
 | 
			
		||||
 | 
			
		||||
rpn [integers...] [operations...]
 | 
			
		||||
 | 
			
		||||
.SH DESCRIPTION
 | 
			
		||||
 | 
			
		||||
Rpn parses reverse polish notation and adds characters to the stack until there
 | 
			
		||||
is an operation. See rpn(7) for more details on the syntax of reverse polish
 | 
			
		||||
notation.
 | 
			
		||||
 | 
			
		||||
.SH STANDARD INPUT
 | 
			
		||||
 | 
			
		||||
If rpn is passed arguments, it interprets those arguments as an expression to
 | 
			
		||||
be evaluated. Otherwise, it reads characters from standard input to add to the
 | 
			
		||||
stack.
 | 
			
		||||
 | 
			
		||||
.SH DIAGNOSTICS
 | 
			
		||||
 | 
			
		||||
If encountering a syntax error, rpn will exit with the appropriate error code
 | 
			
		||||
as defined by sysexits.h(3) and print an error message.
 | 
			
		||||
 | 
			
		||||
.SH CAVEATS
 | 
			
		||||
 | 
			
		||||
Due to the complexity of integer storage in memory, rpn is only capable of
 | 
			
		||||
parsing decimal integers.
 | 
			
		||||
 | 
			
		||||
Additionally, due to the laws of physics, floating-point math can only be as
 | 
			
		||||
precise as slightly less than the machine epsilon of the hardware on which rpn
 | 
			
		||||
is running.
 | 
			
		||||
 | 
			
		||||
.SH RATIONALE
 | 
			
		||||
 | 
			
		||||
POSIX has its own calculator in the form of bc(1p), which uses standard input
 | 
			
		||||
for its calculations. Pair the clunkiness of piping expressions into it and its
 | 
			
		||||
use of standard notation, it was clear what rpn should be.
 | 
			
		||||
 | 
			
		||||
There are no mathematics in the qi(1) shell because it was decided early on that
 | 
			
		||||
math was the job of a specific tool and not the shell itself. Thus, rpn was
 | 
			
		||||
born.
 | 
			
		||||
 | 
			
		||||
.SH AUTHOR
 | 
			
		||||
 | 
			
		||||
Written by Emma Tebibyte <emma@tebibyte.media>.
 | 
			
		||||
 | 
			
		||||
.SH COPYRIGHT
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2024 Emma Tebibyte. License AGPLv3+: GNU AGPL version 3 or later
 | 
			
		||||
<https://gnu.org/licenses/agpl.html>.
 | 
			
		||||
 | 
			
		||||
.SH SEE ALSO
 | 
			
		||||
 | 
			
		||||
bc(1p), dc(1)
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user