]> 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 8ad52fd847daa39f30fa9c5153a38ab851715876..a5ee2d6f4451211a3aa50812a5d4673f96cdc676 100644 (file)
@@ -1,4 +1,4 @@
-.\"    $NetBSD: factor.6,v 1.7 2002/09/26 18:32:01 wiz Exp $
+.\"    $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.
 .\" 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.
 .\"
 .\"    @(#)factor.6    8.1 (Berkeley) 5/31/93
 .\"
 .\"
-.\" By: Landon Curt Noll   chongo@toad.com,   ...!{sun,tolsoft}!hoptoad!chongo
+.\" By Landon Curt Noll, http://www.isthe.com/chongo/index.html /\oo/\
 .\"
-.\"   chongo <for a good prime call: 391581 * 2^216193 - 1> /\oo/\
-.\"
-.Dd May 31, 1993
+.Dd October 12, 2020
 .Dt FACTOR 6
 .Os
 .Sh NAME
-.Nm factor ,
-.Nm primes
-.Nd factor a number, generate primes
+.Nm factor
+.Nd factor a number
 .Sh SYNOPSIS
 .Nm
+.Op Fl hx
 .Op Ar number ...
-.br
-.Nm primes
-.Op Ar start Op Ar stop
 .Sh DESCRIPTION
 The
 .Nm
-utility will factor integers between \-2147483648 and 2147483647 inclusive.
+utility factors integers larger than 
+.Dv 0 .
 When a number is factored, it is printed, followed by a
 .Dq \&: ,
-and the list of factors on a single line.
+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.
+By default, if a factor divides a value more than once, it will be
+printed more than once.
 .Pp
 When
 .Nm
-is invoked with one or more arguments, each argument will be factored.
+is invoked with one or more
+.Ar number
+arguments, each argument will be factored.
 .Pp
 When
 .Nm
-is invoked with no arguments,
+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.
+Input lines must not be longer than
+.Dv LINE_MAX \- 1
+(currently 2047) characters.
 .Pp
-The
-.Nm primes
-utility prints primes in ascending order, one per line, starting at or above
-.Ar start
-and continuing until, but not including
-.Ar stop .
-The
-.Ar start
-value must be at least 0 and not greater than
-.Ar stop .
-The
-.Ar stop
-value must not be greater than 4294967295.
-The default value of
-.Ar stop
-is 4294967295.
+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
-When the
-.Nm primes
-utility is invoked with no arguments,
-.Ar start
-is read from standard input.
-.Ar stop
-is taken to be 4294967295.
-The
-.Ar start
-value may be preceded by a single +.
-The
-.Ar start
-value is terminated by a non-digit character (such as a newline).
-The input line must not be longer than 255 characters.
+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
-.Sq ouch
-being written to standard error.
-.Sh BUGS
-.Nm
-cannot handle the
-.Dq 10 most wanted
-factor list,
-.Nm primes
-won't get you a world record.
+an appropriate error message to standard error.
+.Sh AUTHORS
+Originally by
+.An Landon Curt Noll .