BSD 4_4 release
[unix-history] / usr / src / games / factor / factor.6
index 44d579c..7a9ea12 100644 (file)
-.TH FACTOR 1 
+.\" 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.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 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
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\"    @(#)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/\
+.\"
+.TH FACTOR 6 "May 31, 1993"
+.UC 7
 .SH NAME
 .SH NAME
-factor, primes \- factor a number, generate large primes
+factor, primes \- factor a number, generate primes
 .SH SYNOPSIS
 .B factor
 .SH SYNOPSIS
 .B factor
-[ number ]
+[ number ] ...
 .PP
 .B primes
 .PP
 .B primes
+[ start [ stop ]]
 .SH DESCRIPTION
 .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.
+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
 When
 .I factor
 When
 .I factor
-is invoked without an argument, it waits for a number to be typed in.
-If you type in a positive
-number less than 2\u\s756\s0\d (about
-.if n 7.2e16)
-.if t 7.2\(mu10\u\s716\s0\d\|)
-it will factor the number and print its prime factors; each one is printed
-the proper number of times.
-Then it waits for another number.
-It exits if it encounters a zero or any non-numeric character.
+is invoked with one or more arguments,
+each argument will be factored.
 .PP
 .PP
-If
+When
+.I factor
+is invoked with no arguments,
 .I factor
 .I factor
-is invoked with an argument, it factors the number
-as above and then exits.
+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 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
 .PP
-Maximum time to factor is proportional to
-.if n sqrt(n)
-.if t \(sr\o'\fIn\fR\(rn'
-and occurs when
-.I n
-is prime
-or the square of a prime.
-It takes 1 minute to factor a prime
-near
-10\u\s714\s0\d
-on a PDP11.
+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
 .PP
-When
+When the
 .I primes
 .I primes
-is invoked, it waits for a number to be typed in.
-If you type in a positive
-number less than 2\u\s756\s0\d
-it will print all primes greater than or
-equal to this number.
+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
 .SH DIAGNOSTICS
-`Ouch.' for input out of range or for garbage input.
+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.