]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - factor/factor.6
Comment out debugging build (it still randomly crashes though) pointed out
[bsdgames-darwin.git] / factor / factor.6
index 5c068b9f876b7347fa0d52132670d17e8495e2ff..a5ee2d6f4451211a3aa50812a5d4673f96cdc676 100644 (file)
@@ -1,5 +1,7 @@
-.\" Copyright (c) 1989 The Regents of the University of California.
-.\" All rights reserved.
+.\"    $NetBSD: factor.6,v 1.18 2020/10/12 13:53:43 christos Exp $
+.\"
+.\" Copyright (c) 1989, 1993
+.\"    The Regents of the University of California.  All rights reserved.
 .\"
 .\" This code is derived from software contributed to Berkeley by
 .\" Landon Curt Noll.
 .\" 2. Redistributions in binary form must reproduce the above copyright
 .\"    notice, this list of conditions and the following disclaimer in the
 .\"    documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\"    must display the following acknowledgement:
-.\"    This product includes software developed by the University of
-.\"    California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
+.\" 3. Neither the name of the University nor the names of its contributors
 .\"    may be used to endorse or promote products derived from this software
 .\"    without specific prior written permission.
 .\"
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"    from: @(#)factor.6      5.3 (Berkeley) 6/23/90
-.\"    $Id: factor.6,v 1.2 1993/08/01 07:47:05 mycroft Exp $
-.\"
+.\"    @(#)factor.6    8.1 (Berkeley) 5/31/93
 .\"
-.\" By: Landon Curt Noll   chongo@toad.com,   ...!{sun,tolsoft}!hoptoad!chongo
 .\"
-.\"   chongo <for a good prime call: 391581 * 2^216193 - 1> /\oo/\
+.\" By Landon Curt Noll, http://www.isthe.com/chongo/index.html /\oo/\
 .\"
-.TH FACTOR 6 "June 23, 1990"
-.UC 7
-.SH NAME
-factor, primes \- factor a number, generate primes
-.SH SYNOPSIS
-.B factor
-[ number ] ...
-.PP
-.B primes
-[ start [ stop ]]
-.SH DESCRIPTION
+.Dd October 12, 2020
+.Dt FACTOR 6
+.Os
+.Sh NAME
+.Nm factor
+.Nd factor a number
+.Sh SYNOPSIS
+.Nm
+.Op Fl hx
+.Op Ar number ...
+.Sh DESCRIPTION
 The
-.I factor
-utility will factor integers between -2147483648 and 2147483647 inclusive.
-When a number is factored, it is printed, followed by a ``:'',
-and the list of factors on a single line.
+.Nm
+utility factors integers larger than 
+.Dv 0 .
+When a number is factored, it is printed, followed by a
+.Dq \&: ,
+and the list of
+.Pq prime
+factors on a single line.
 Factors are listed in ascending order, and are preceded by a space.
-If a factor divides a value more than once, it will be printed
-more than once.
-.PP
+By default, if a factor divides a value more than once, it will be
+printed more than once.
+.Pp
 When
-.I factor
-is invoked with one or more arguments,
-each argument will be factored.
-.PP
+.Nm
+is invoked with one or more
+.Ar number
+arguments, each argument will be factored.
+.Pp
 When
-.I factor
-is invoked with no arguments,
-.I factor
+.Nm
+is invoked with no
+.Ar number
+arguments,
+.Nm
 reads numbers, one per line, from standard input, until end of file or error.
 Leading white-space and empty lines are ignored.
-Numbers may be preceded by a single - or +.
+Numbers may be preceded by a single +.
+Numbers that start with
+.Dv 0x
+are interpreted as hexadecimal.
+A 
+.Dv 0
+input exits the program.
+Negative numbers are not allowed.
 Numbers are terminated by a non-digit character (such as a newline).
 After a number is read, it is factored.
-Input lines must not be longer than 255 characters.
-.PP
-The
-.I primes
-utility prints primes in ascending order, one per line, starting at or above
-.B start
-and continuing until, but not including
-.B stop.
-The
-.B start 
-value must be at least 0 and not greater than
-.B stop.\&
-The
-.B stop
-value must not be greater than 4294967295.
-The default value of
-.B stop
-is 4294967295.
-.PP
-When the
-.I primes
-utility is invoked with no arguments,
-.B start
-is read from standard input.
-.B Stop
-is taken to be 4294967295.
-The
-.B start
-value may be preceded by a single +.
-The
-.B start
-value is terminated by a non-digit character (such as a newline).
-The input line must not be longer than 255 characters.
-.SH DIAGNOSTICS
-Out of range or invalid input results in `ouch' being 
-written to standard error.
-.SH BUGS
-.I Factor
-cannot handle the ``10 most wanted'' factor list,
-.I primes
-won't get you a world record.
+Input lines must not be longer than
+.Dv LINE_MAX \- 1
+(currently 2047) characters.
+.Pp
+By default,
+.Nm
+is compiled against the OpenSSL bignum implementation
+.Xr openssl_bn 3 ,
+which lets it handle arbitrarily large values.
+.Pq Note however that very large values can take a very long time to factor.
+If
+.Nm
+is compiled without OpenSSL it is limited to the maximum value of
+.Vt unsigned long .
+.Pp
+The following option is available:
+.Bl -tag -width flag
+.It Fl h
+If the
+.Fl h
+flag is specified, factors will be printed in "human-readable" format.
+If a factor x divides a value n (>1) times, it will appear as x^n.
+.It Fl x
+If the
+.Fl x
+flag is specified, factors will be printed in hexadecimal format.
+.El
+.Sh DIAGNOSTICS
+Out of range or invalid input results in
+an appropriate error message to standard error.
+.Sh AUTHORS
+Originally by
+.An Landon Curt Noll .