Last checked or modified: Feb. 25, 1997
- FNC-2
- An attribute grammar system based on strongly non-circular AGs
that perform extensive space optimizations.
[http://www-rocq.inria.fr/oscar/FNC-2/littlefnc2.html]
- f90doc
- A documentation tool for Fortran 90 written by Erik
Demaine. f90doc generates pages of HTML documentation from Fortran 90
source. The documentation is derived from comments prefixed with !! written
(if desired) in a simple and intuitive documentation language whose source is
easily readable in the code itself, while formatting nicely in HTML. f90doc is
similar to javadoc, but does not require comments to be written in HTML.
[http://daisy.uwaterloo.ca/~eddemain/f90doc/]
- f90gl
- A Fortran interface for
Mesa and
GLUT which can also be used
with other implementations of
OpenGL.
It provides interfaces for both Fortran 77 and Fortran 90.
[http://math.nist.gov/f90gl]
- FNLIB
- A package of elementary and special functions extracted from
the SLATEC library for the
CMLIB package.
The functions can be divided into several categories
according to functionality.
The intrinsic and fundamental functions include:
R9UPAK and R9PAK, to unpack and pack floating point
numbers;
INITS, to initialize an orthogonal polynomial series; and
CSEVL, to evaluate a Chebyshev series.
The elementary functions include:
CBRT, for cube roots; and
EXPREL, relative error exponential from first order;
CLOG10, common logarithm; and
ALNREL, the relative error logarithm.
The trigonometric and hyperbolic functions include:
COT, SINDG, COSDG,
CASIN, CACOS, CATAN, CSINH, CCSOH,
CTANH, ASINH, ACOSH, ATANH.
The exponential integrals and related functions include:
EI and E1, exponential integrals; and
ALI, the logarithmic integral.
Gamma and related functions include:
FAC, factorial;
BINOM, binomial;
GAMMA, gamma;
GAMLIM, gamma with under- and over-flow limits;
GAMR, reciprocal gamma;
ALNGAM, log absolute gamma;
GAMI, incomplete gamma;
GAMIC, complementary incomplete gamma;
GAMIT, Tricomi's incomplete gamma;
PSI, psi (digamma);
POCH, Pochhammer's generallized symbol;
BETA, beta;
ALBETA, log beta;
BETAI, incomplete beta;
ERF, error function;
ERFC, complementary error function;
and DAWS, Dawson's function.
Several Bessel functions are available including:
Bessel functions of special integer order of the first and second
kind and order zero and one;
modified (hyperbolic) Bessel functions and those scaled by
an exponential of the same varieties;
sequences of Bessel functions of general order of modified first,
first, second, and modified third kinds; and
sequences scaled by an exponential.
Available Bessel functions of fractional order include:
AI, Airy functions;
AIE, exponentially scaled Airy functions; and
CHU, confluent hypergeometric functions.
A source code distribution of this package is available.
All of the routines are written in Fortran 77 and are
documented via comment lines within each source code file.
This is part of CMLIB via
SLATEC.
[http://sunsite.doc.ic.ac.uk/public/computing/general/statlib/cmlib/]
- Fnorb
- An experimental CORBA ORB written in
Python.
Fnorb gives the Python programmer access to CORBA by supporting
all CORBA 2.0 datatypes and providing a full implementation of
IIOP.
It can be used as a CORBA scripting tool and for building test
harnesses for CORBA development projects as well as for prototyping
CORBA systems.
Fnorb requires a 3rd party interface repository to parse and store
IDL definitions. The OmniBroker
package is recommended by the developers.
[http://www.dstc.edu.au/Fnorb/]
- Fnord
- A mathematical visualization system that provides a
purely functional, collection-oriented language with
symbolic differentiation and optimization. You can type
in a parametric equation and see the resulting curve or
surface. The source code is available as are binaries
for Sun SPARC, SGI IRIX, and Linux platforms. A manual
is available in PostScript
format.
[http://www.cs.cmu.edu/~spot/fnord/fnord.html]
- FOAM
- The Fast Operating Algebraic Manipulator
is a computer algebra program for high energy physics.
The capabilities of FOAM include:
- substitutions of products;
- vectors, vector indices, and metric tensors with high energy
physics constructions such as massless vectors, orthogonal
vectors, symbolic or numeric dimensions, and parenthesized
vector expressions;
- jumping symbols which enable complex numbers, nth roots, and
truncated expressions to be implemented;
- optimization for calculations where large numbers of terms are
equal to zero;
- built-in debugging;
- modular C++ code which allows any algebraic abstraction to
be plugged into the existing data structures via inheritance;
- substitutions of sums;
- rational arithmetic and division of polynomials;
- Levi-Civita or alternating tensors;
- gamma matrices and spinor products; and
- user-defined functions.
A source code distribution of FOAM is available. It is
written in C++ and can be compiled
with most C++ compilers.
The front end also uses Bison, Flex, and
Perl to generate files.
The documentation is presently (7/97) scattered in
various hypertext files online.
[http://pcae.hep.phy.cam.ac.uk/ben/foam/foam.html]
- FOCUS
- The FOrm-based Customizable User Shell is
a form processor that provides an easy way to maintain a set of fill-in
forms that can be submitted via email.
In a broader sense, FOCUS is an interactive interpreter and displayer
of forms written in Focal (i.e. the Form Composition Almost-Language).
It was originally designed as an interactive form processor but evolved
into a general purpose front-end that can be used in almost any
UNIX application and which provides a hypertext-like method of
navigation between forms.
A form in the context of FOCUS is a description of a screen that can
contain straight text, editable text fields, text fields with a finite
number of preset values, and buttons that can perform some action.
Forms can also be modified in several ways, with the options available
in the creation of forms including non-editable text fields, fields
which require a value, fields for which the entered value must fulfill
a specific requirement, default values, variables, dialog boxes,
selection boxes, display boxes, and conditionally invisible lines.
These capabilities provide a unified screen-based environment for
users in the UNIX environment who for whatever reason don't want or
have an X11-based GUI alternative.
A source code distribution of FOCUS is available.
Installation and use also requires the prior installation of
Ncurses.
Documentation is included in the distribution.
[http://www.cs.cmu.edu/~tilt/focus/]
- fof
- Fred's Own Filemanager is a graphical filemanager
that acts as a front-end to several UNIX
commands.
It is intended to provide a powerful user interface with contextual
menus, drag and drop, multiple windows, and many other features.
It is also highly customizable, allowing new programs and menus
to be created.
This is part of the eXode project.
[http://www.linux-france.com/pesch/exode/fof.html]
- FOF
- An astrophysical program which uses the
Friends-Of-Friends method to find groups in
the output file generated by an N-body simulation.
A particle belongs to a friends-of-friends group if it is within
some linking length of any other particle in the group. After
all such groups are found those with less than a specified number
of group members are rejected. FOF reads files in the
TIPSY array format and writes output to
ASCII files.
The source code for FOF is available. It is written in ANSI C
and can be compiled on generic UNIX platforms.
It is documented in a man page.
FOF is part of the
HPCCSOFT Tools suite.
[http://www-hpcc.astro.washington.edu/tools/FOF/]
- fontinst
- A set of TeX macros that allow users to install
virtual fonts. Fontinst can convert fonts from Adobe Font Metric
(afm) or TeX Property List (pl) format into
Virtual Property List (vpl) format. These Virtual
Fonts (vfs) can then be used by device drivers such
as dvips.
The features of the package include:
- written in TeX for maximum portability;
- support for the OT1 (Computer Modern) and T1 (Cork) encodings;
- allowing fonts to be generated in an arbitrary encoding, e.g.
the `ij' character can be faked by putting an `i' next to a `j';
- allowing caps and small caps fonts with letter spacing and kerning;
- allowing kerning to be shared between characters, e.g. `ij' can be
kerned on the left/right as if it were an `i'/`j';
- allowing the generation of math fonts with nextlarger, varchar, and
arbitrary font dimensions;
- allowing more than one PostScript font to contribute to a TeX font;
- automatic generation of an fd file for use with
LateX2e; and
- user-customizable to deal with arbitrary font encodings.
A source code distribution of fontinst is available.
It is written in TeX and documented in LaTeX format.
[http://www.cogs.susx.ac.uk/users/alanje/fontinst.html]
- Font Utilities
- The GNU font utilities are a package of
tools for manipulating fonts in various ways.
The capabilities include converting scanned images into bitmap
fonts, hand editing bitmaps, conversion of bitmap fonts to
outline fonts, and more.
With this package you can start with a scanned image of artwork
and finish with a font complete with accented characters,
ligatures, and the works.
The font formats used by these programs are mostly those used
by the TeX package, although output of
PostScript Type 1 fonts is also
supported.
The programs in the Font Utilities include:
- Imageto, which converts an image file (in either PBM
or IMG format) to either a bitmap font or an Encapsulated
PostScript File (EPSF);
- IMGrotate, which rotates an IMG file either 90 or 180
degrees clockwise;
- Fontconvert, which performs various manipulations such as conversion
to other formats, merging multiple fonts, adjusting individual
characters, and moving characters around within a font;
- Charspace, which allows you to add side bearings (i.e. the
blank spaces on either side of a character) to a bitmap font;
- Limn, which converts a font from a bitmap to an outline
by fitting curves to the pixels;
- BZRto, which translates an outline font in BZR outline font
format to other formats including Metafont,
Type 1 and Type 3 PostScript, and BPL;
- BPLtoBZR, which translates a human-readable text file in
BPL format to a binary BZR font format;
- XBfe, an X Bitmap Font Editor which allows the hand-editing
of the shapes and the metric information of a bitmap font;
- BZRedit, which allows the hand-editing of outline fonts in
BZR font format as output by Limn; and
- GSrenderfont, which uses GhostScript
to rasterize a PostScript outline font at a particular point size
and resolution.
A source code distribution of the Font Utilities is available.
It is written in C and can be compiled and installed via the
included configure script.
It is documented in a 95 page user's manual available in
Texinfo format.
[http://www.gnu.ai.mit.edu/order/ftp.html]
- FOOL/FOX
- The Fuzzy Organizer OLdenburg is a graphical
user interface used to develop fuzzy rulebases. It can be
used to create and maintain a database which specifies the
behavior of a fuzzy controller.
FOX is a small but powerful fuzzy engine which reads data
from this database along with some input values and then
calculates new control values.
The features of FOOL/FOX include:
an interactive FOOLproff development interface based on
the XView library;
online help;
support for most known fuzzy operators (36 to date) and
full support of parameterized operators;
five types of standard membership functions plus an unlimited
number of user defined membership functions;
user-defined internal calculation precision;
the possibility of fuzzy and/or crisp input and output values;
the capability of buildling multi-stage and/or parallel fuzzy
systems via shell scripts;
an ASCII database format for better readability;
visualization of linguistic variables and operators via either
Khoros or Gnuplot;
and more.
The FOOL/FOX package is available as source code or in binary
format for Linux Intel, DEC OSF/1 and Ultrix, and Sun Solaris platforms.
It is written in ANSI C for portability and includes an
autoconfig file for easy compilation.
The GUI requires the XView library and visualization of results
either Khoros or Gnuplot.
The package is documented in a 100+ page user's manual in
PostScript format.
[ftp://ftp.informatik.uni-oldenburg.de/pub/fool/]
- Forecast
- A GUI-based tool for building network and system management applications
using Tcl/Tk and
Expect.
Forecast generates code which runs as an automated interface program
for automating the user interface for most UNIX-based interactive
dialog programs.
[http://www.casabyte.com/Forecast/Forecast.html]
- FORM
- This is a computerized symbolic manipulation program designed
for virtually infinite formulae. As such it is less general than
other such programs (e.g. Mathematica, Maple, etc.), but the
design differences allow it to perform calculations involving
formulas with over a hundred thousand terms efficiently where
the other systems might fail or be undesireably slow. This is
an earlier version of what is now a commercial product. There
is a 250 page manual in
TeX
dvi format at the same site.
[ftp://ftp.nikhef.nl/pub/form/linux/]
- Forth
- A stack-based, extensible language without type checking which
uses postfix, i.e. reverse Polish, notation. The fundamental
program unit in Forth is the word, i.e. a named data item, subroutine
or operator, and programming consists of defining new
words in terms of existing words.
Forth was invented in 1970 and was reknowned for high performance
as well as an economical use of memory, with the latter quality
keeping it popular for use in embedded microcontroller systems.
The interactive nature of Forth streamlines the testing
and development of new hardware.
The features which facilitate this include
incremental development,
a fast program-debug cycle,
full interactive access to any level of the program,
and the ability to work at a high level of abstraction.
Freely available implementations of Forth
include
bigFORTH,
gforth,
PFE,
pForth,
ThisForth, and
the Forth-to-C compiler forth2c.
An interesting project for scientists using Forth is the
Forth Scientific Library Project
.
Introductory textbooks are
Brodie (1987)
Katzen (1981), and
Kelly and Spies (1986).
More advanced texts include
Brodie (1984),
Matthews (1989),
Noble (1992), and
Woehr (1992).
A history of the language can be
found in Rather et al. (1993).
[http://www.forth.org/fig.html]
- 4tH
- A compiler and interpreter which runs most Forth
programs.
A source code distribution is available which can be compiled
on most UNIX flavors.
Extensive documentation is available in ASCII format.
[http://www.geocities.com/SiliconValley/Bay/2334/foldtree.htm]
- Forth Scientific Library
- A project to write a set of Forth words
to implement such (currently available in
Fortran) scientific libraries
as the ACM libraries, BLAS,
LINPACK, etc.
A reasonably large selection of special functions and integrals,
interpolators, transforms, and matrix algorithms are
currently (10/97) available.
[http://www.forth.org/fsl/sciforth.html]
- forth2c
- A Forth-to-C compiler.
[http://www.complang.tuwien.ac.at/forth/]
- Fortran
- There are several options available for those who want to
use the Fortran language on Linux systems. Probably the best
way to go at present is to use the freely available
g77 compiler (which requires
the prior installation of the gcc compiler). Another popular
option is to use the f2c
Fortran to C translator via a script
like fort77 that makes
the details transparent to the user, i.e. just like using a
Fortran compiler. Rounding out the current (7/96) freely
available options, there's now a compiler available for a
language called F which
is a subset of Fortran 90. There are also some commercially available
options, the details of which can be found at
Jeff Templon's Linux and Fortran
site.
General information about Fortran can
be found at the
Fortran Market
, including the
Fortran FAQ
and an online
version of the
X3J3 Fortran 77 Standard
.
Check the
Fortran 90/95
web site
for extensive information about those
extensions. An additional source of information are the
Notes on Fortran Programming
.
See Ellis (1989),
Metcalf and Reid (1996),
Ortega (1994),
Ortega (1994), and
Press et al. (1994).
- fort77
- A compiler-like driver for f2c (written in perl) that
will allow you to transparently compile Fortran code using
your C compiler and the f2c translation package.
[ftp://sunsite.unc.edu/pub/Linux/devel/lang/fortran/]
[ftp://ftp.cc.gatech.edu/pub/linux/devel/lang/fortran/]
- ForUtil
- A collection of Fortran 77 utilities for performing various
bookkeepping, database, and flow tracking tasks. The utilities
include:
- fflow, a program to generate graphs that indicate the flow
in a program;
- ffscan, a subroutine argument checker; and
- ftags, a tag generator that generates case-insensitive
tags in Fortran files and is used with the vi editor.
There are
also three tools for the creation (scan_commons),
examination (list_commons) and
searching (get_commons)
of a database that contains all common statements defined in a
collection of Fortran include files. The source code for ForUtil
is available as well as binaries for Linux (a.out and ELF),
SunOS, HP-UX, IRIX and MS-DOS systems. The documentation is
contained within man pages for each program.
[http://www.xs4all.nl/~ripley/RSD/ForUtil.html]
- FOURPT
- A numerical model for simulating unsteady, one-dimensional flow in
networks of open channels.
FOURPT includes several useful options including the selection
of governing equations (kinematic, diffusion, or dynamic),
boundary value perturbations, and user-programmable constraint
equations.
It can simulate non-trivial concepts such as flow in complex
interconnected channel networks, meandering channels with variable
effective flow lengths, hydraulic structures define by unique
three parameter relations, and density-driven flow.
Channel geometry can be rectangular, trapezoidal, or irregular
depending on whcih channel property module is used.
FOURPT uses a four-point-implicit finite difference solution scheme.
The simultaneous equations are solved by Gaussian elimination using an
indexed, asymmetric, sparse matrix solver particularly useful for
applications involving large, complex networks of interconnected
channels.
All relations that constrain unknown variables, discharge and water
surface elevation at boundaries and channel junctions are implemented
implicitly.
A source code distribution of FourPt for UNIX platforms is
available.
The primary documentation is contained within
DeLong et al. (1997).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/FourPt.html]
[http://www.geogr.uni-jena.de/software/FourPt.html
]
- fOX Project
- An attempt to create a suite of useful applications for
UNIX in an organized fashion.
The project uses the Xclass
toolkit to provide a simple and uniform way for programmers
to access widgets which have the Win95 3-D look and feel.
The goal of the fOX Project is to provide X11 applications
to the UNIX community which will allow them to make full use
of the operating system without having to resort to the use
of Windows emulation software, with the applications portable
to any machine on which Xclass will compile.
[http://www.cs.fiu.edu/~kvarga01/]
- FPKPascal
- A 32-bit Pascal compiler. PFKPascal features include
generation of true 32-bit code (i.e. no 64 kB limit for arrays
or 640kB limit for programs and data), close compatibility with
Turbo Pascal 7 (including objects, graph unit and FreeVision),
some extensions from C++ (i.e. procedure overloading and
exception handling), availability of the Pascal source code of
the compiler (which can compile itself), and more.
It presently (9/96) has only a command line interface although
and integrated development environment (IDE) with and editor
and debugger is in the works.
[http://www.brain.uni-freiburg.de/~klaus/fpc/]
- FPS
- Functional PostScript is a portable
system for doing device- and resolution-independent
graphics from Scheme programs.
It is PostScript with the
Forth computational engine replaced
with Scheme. It is tightly based on PostScript and uses
exactly the PostScript base rendering primitives, e.g. lines,
curves, arcs, glyphs, and bitmaps. Full control of the
rendering engine's style parameters such as line width and
capital style is provided, and interchangeable RGB, CMYK,
and HSB color models are provided.
The source code to FPS is available, and its use requires
the scsh package. ASCII documentation
is available as well as example programs.
[ftp://ftp-swiss.ai.mit.edu/pub/scsh/contrib/fps/]
[http://www.mit.edu/people/wandy/fps/fps.html
]
- Fraclab
- A fractal analysis toolbox for signal processing. The
toolbox is supposed to be ready for release by the end of March 1997.
Versions will exist for both Matlab and
Scilab.
[http://www-syntim.inria.fr/fractales/Software/FRACLAB/fraclab.html]
- FRAGSTATS
- A spatial pattern analysis program for quantifying landscape
structure.
It offers a comprehensive selection of landscape metrics
and was designed to be as versatile as possible. The metrics
available include a variety of area metrics, patch density,
size and variability metrics, edge metrics, shape metrics,
core area metrics, diversity metrics, and contagion and
interspersion metrics. FRAGSTATS is supplied in both
vector and raster image format versions, with the former
needing the commercially available Arc/Info package to
work and the latter amenable to use on generic UNIX
platforms.
The FRAGSTATS source code, written in ANSI C, is available
(along with an MS-DOS executable file and Arc/Info macro files
for the vector image version) and should compile and install
on generic UNIX systems with standard libraries. The documentation
is contained within 60+ page user's manual and tutorial in
PostScript format.
[ftp://ftp.fsl.orst.edu/pub/]
- Fred
- An ongoing research project at OCLC for studying the manipulation
of tagged text. It addresses the problems of tagged
SGML document collections with no
corresponding DTD, and the arbitrary transformation of tagged
text. The Fred software system is an extended
Tcl/Tk front-end to the OCLC SGML
Grammar Builder which can
automatically build DTDs from tagged text. It
addresses arbitrary transformations by including a translation
language which allows direct mappings based on tag names,
attributes, and structure as well as movement of text within the
tree and several other features.
There is also a collection X-based graphical user interfaces to
Fred including:
- Austin, a complete text editor which includes tag extraction,
structural reduction, and tag error handling, and takes a document
as input and extracts the specific document structure by recognizing
SGML-like tags;
- Beca, a stated, structural editor in which edit actions and
rule reductions can be selectively applied and undone and which
which can be used to edit many different document/corpus structures, even
those not discovered by Austin;
- Casey, a database description editor which uses grammars to
automate the description process and allows the direct editing of the
logical definition of a database, including the name, description,
proximity variables, index definitions, file sizes, and stop words;
- Drew, an interface editor which provides the ability to
construct output format descriptions from grammars; and
- Gail, which provides a single window interface to Austin,
Beca, Casey, and Drew and allows the quick
jumping from one tool to another and the loading of a grammar from
one to the other.
The Fred system is available in binary format for Sun Solaris
and SunOS, Linux Intel, IBM AIX, and Windows NT platforms.
It can be obtained after signing a non-commercial license
agreement.
Fred and each of its components is extensively documented in
a series of online HTML manuals and overviews.
[http://www.oclc.org/fred/]
- FreeAmp
- An open source effort to build the best digital audio player
available. This is currently (7/98) in the alpha development
stage with developer releases available.
[http://www.freeamp.org/]
- Free Builder
- The Free Builder Project is a project started by a group of
Java-Linux members whose goal is to develop a free Java
Integrated Development Environment (JIDE).
The specifications for FB include: portability with FB
developed entirely in Java (starting with JDK 1.1);
compatibility with JavaBeans components;
an integrated environment consisting of strongly interconnected
tools including a Java-sensitive source code editor,
a background parser and class analyzer, a multithreaded
debugger, and a visual component builder;
a base set of JavaBeans components (to be supplied with
the visual builder); and an open architecture in which external
JavaBeans components will be easily accepted by the visual
builder.
The project is in the preliminary design phase with snapshots
of the source code made available on a regular basis.
A mailing list is available and there are numerous openings
for developers on this project.
[http://members.xoom.com/ivelin/FreeBuilder/fb.html]
- Free Phone
- An audio tool for the Internet. The features of
Free Phone include:
- managment of multiple unicast and multicast sessions so only
one instance of the tool needs to be running;
- implementation of the Real Time Protocol (RTP);
- a signaling protocol to contact remote parties;
- support for sampling rates ranging from 8 to 48 kHz;
- a redundancy mechanism for packet reconstruction which provides
increased audio quality even with a high rate of packet loss;
- an assortment of codecs including PCMU, VADPCM, ADPCM, GSM and LPC; and
- compatibility with other MBone tools.
Binary distributions of Free Phone are available for Sun Solaris
and SunOS, Linux Intel, FreeBSD Intel and Windows 95.
The source code is available upon request.
Documentation is available on the Web site.
[http://www.inria.fr/rodeo/fphone/]
- FreeBSD
- A Linux competitor as a UNIX-type operating system for
the i386 architecture. The current version of FreeBSD was
developed from the 4.4BSD Lite UNIX variant. Most of FreeBSD is
governed by a license that permits redistribution if the
code includes a notice acknowledging the copyright owners,
although a few parts are covered by the GNU
GPL.
[http://www.freebsd.org/]
- FreeDOS
- A project to develop a complete, free and 100% MS-DOS compatible
operating system.
[http://www.freedos.org/]
- FreeFEM
- An implementation of the Gfem language designed to provide
a simple method for solving partial differential equations (PDEs)
in 2-D using the finite element method.
It assumes a basic knowledge of the finite element method.
Gfem is a language for the description of PDEs whose syntax
resembles that of Pascal.
The use of FreeFEM starts with a triangulation of the
area in which the PDE is being solved in order to build
a FE mesh. The program can read in a mesh or automatically
build one, and also has
the capability of displaying, storing, or writing a
triangulation out to a PostScript file.
Then the equations to be solved on the mesh are built using built-in
functions and global operators, and solved using operators for
solving PDEs as well as setting up boundary conditions.
Binary versions of FreeFEM are available for HP-UX,
Linux Intel, and SGI IRIX platforms.
Commercial versions are also available for these and
other platforms.
The use of FreeFEM is documented in a 40 page user's
manual available in PostScript format.
[http://www.asci.fr/~prudhomm/gfem-html]
- FreeLIP
- The Free Large Integer Programming
package contains a variety of functions for performing
arithmetic on arbitrary length signed integers. These functions
allow easy prototyping and experimentation with new number
theory-based cryptographic protocols. FreeLIP is a version of
the original LIP (from Bell Labs) that was used on the
RSA-129 project.
The functions available within FreeLIP can be divided into the
following categories: auxiliary functions (e.g. comparison,
base conversion, logarithms, etc.); basic arithmetic; input/output;
bit manipulation (e.g. and, cat, not, xor, parity, shift, etc.);
modular arithmetic; Montgomery arithmetic; Euclidean algorithms
(e.g. Chinese remaindering, Jacobi symbol, etc.); random
number generation; primality testing and factoring (e.g. probabilistic
tests, trial division, pollard rho, etc.); prime generation;
NIST digital signature algorithm; timing function; and
allocation functions.
The source code, written in ANSI C, is included with the
distribution as is a 45 page user's manual in PostScript
format.
[ftp://ftp.ox.ac.uk/pub/math/freelip/]
- Freestone
- A portable and fully-functional firewall implementation derived
from a commercially available version.
The features of Freestone include:
- support for most popular access control mechanisms on a per
user basis;
- support for most interactive protocols, e.g. FTP, Telnet, X11, etc.;
- a special SMTP three-phase relay system;
- support for most other protocols with generic IP session relays;
- support for unencumbered access to all protocols from internal
networks using SOCKS;
- direct API support for most popular authenticators;
- asynchronous alerts via email, pages, or programs;
- automatic self-auditing for unauthorized changes;
- detailed logs and flexible reports;
- time synchronization via RFC 1305; and
- censored DNS information provided to public networks.
A source code distribution is available which has been
successfully compiled on Linux Intel platforms.
[http://www.soscorp.com/products/Freestone.html]
- FreeS/WAN Project
- A project to secure Internet traffic against passive wiretapping.
The concept is caled S/WAN or S/Wan or Swan for Secure Wide Area
Networks, whence comes the FreeS/WAN name.
The idea behind the project is to deploy Linux boxes to sit between
local area networks (LANs) and the Internet which opportunistically
encrypt outgoing Internet packets, i.e. if you connect to a machine
that supports the same your packets will be encrypted, but if you
don't they won't be encrypted.
This works for almost all Internet traffic and amounts to putting
the packets into a sealed envelope on your end and taking them
out when they reach the other end.
The encryption protocols used for this project are known as
IPSEC or IP Security and will be a standard part of the upcoming
IPv6 Internet protocols. They are currently
an option with IPv4.
[http://www.xs4all.nl/~freeswan/]
- FreeType Project
- A free and portable TrueType font rendering engine in the form
of a library. This has been developed to provide TrueType support
for a large variety of platforms and environments.
FreeType is a library and not a font server. It is also not
a complete text-rendering library although it can be seen as
a TrueType driver for a higher-level library.
Its purpose is to open and manage font files and efficiently load, hint, and
render individual glyphs.
FreeType was not derived from the original TrueType engine developed by
Apple and Microshaft but was created from the published TrueType
specifications.
The features of the FreeType library include:
- support for TrueType files (TTF) and collections (TTC) (but not
for GX or OpenType fonts although these can be opened and used as normal
TTF files by the library);
- a modular design wherein memory and I/O operations can be easily
tailored to various platforms and systems (with ANSI libc suport in
the standard release);
- font smoothing (i.e. gray-scaling) wherein only the parts of the
glyph that need it are smoothed;
- support for all character mappings defined in the TrueType
specifications;
- multiple opened fonts and point sizes and an object management
system to keep track of all data;
- support for composite glyphs;
- a full-featured and efficient TrueType bytecode interpreter which
can produce excellent output at small point sizes;
- written in portable ANSI C and Pascal;
- a suite of test programs to demonstrate the library;
- support for extensions; and
- kerning support.
A source code distribution of the FreeType library is available.
It can be compiled and used on a wide variety of platforms including
Linux Intel.
Various documentation is available including a user guide, a developer's
FAQ, and an API reference.
[http://www.physiol.med.tu-muenchen.de/~robert/freetype.html]
- freeWAIS-sf
- A data indexing and searching system that contains clients, servers,
and auxiliary programs to the TCP/IP protocol known as WAIS. This is
an extended version of the
CNIDR
freeWAIS package (later renamed to ZDist and then subsumed within their
Isite package) for which the
main extension is the capability to create a data format file to be
used before indexing (see the site for details). This is written in
C and should install on generic UNIX
platforms using either GCC or
the native C compiler.
[http://charly.informatik.uni-dortmund.de/ir/projects/freeWAIS-sf/]
[ftp://ftp.germany.eu.net/pub/infosystems/wais/Unido-LS6/freeWAIS-sf/
]
- FreeWRL
- A VRML browser written mostly in
Perl.
The features of FreeWRL include:
- script node support for Java, Javascript and Perl;
- TrueType font support using FreeType;
- OpenGL rendering via
Mesa;
- an open and pluggable framework in which the browsers, event model,
backend and script engines can all be easily replaced with code to
handle new interfaces; and
- support for most nodes, PROTOs and Inlines.
A source code distribution is available. This is currently
(5/98) in beta test stage.
[http://www.fas.harvard.edu/~lukka/freewrl/]
- Fresco
- An object-oriented user interface system for the development
of X Window
based applications. The next evolutionary step
beyond the Interviews package.
[http://www.iuk.tu-harburg.de/Fresco/HomePage.html]
- fsolver
- The parallel incompressible flow solver
package implements a second-order finite difference projection
algorithm for solving the incompressible Navier-Stokes equations in
2-D and 3-D rectangular domains.
The parallel implementation is based on a grid partition strategy
for the code to run on any logical rectangular processor array in
a distributed memory, message passing machine.
The solver uses a parallel multigrid elliptic kernel to compute
velocity and pressure fields at each time step, and can deal with
Direchlet, Neumann, periodic, and mixed boundary conditions.
The source code for fsolver is available.
The package performs interprocessor communications through a
generic message passing interface which currently (5/97) supports the
PVM, MPI, and
Intel NX (see NXlib) message passing
libraries.
The package and the algorithms used therein are documented in
a technical report included in the distribution in
PostScript format.
[http://olympic.jpl.nasa.gov/Software/Software_list.html]
- FSQP
- The Feasible Sequential Quadratic Programming
package implements a superlinearly convergent algorithm for directly
tackling optimization problems with
multiping competing linear/nonlinear objective functions (minimax),
linear/nonlinear inequality constraints, and
linear/nonlinear equality constraints.
FSQP also contains special provisions for maintaining the
semi-feasibility of each iterate and for efficiently handling
problems with many sequentially related objectives and/or constraints.
Source code versions of FSQP are available in both Fortran
and C.
They can be freely obtained by sending a request to the address
given at the site.
An interface between FSQP and ADIFOR
is available. Applications with interfaces to FSQP include
AMPL,
Diffpack, and
Scilab.
Much documentation is available including a user's guide in
PostScript format.
[http://www.isr.umd.edu/Labs/CACSE/FSQP/fsqp.html]
- FSU Pthreads
- A library package of preemptive threads
compliant with POSIX 1003.4a Draft 6.
This was developed as part of the POSIX/Ada Runtime Project (PART).
The available features include:
thread management, synchronization, thread-specific data,
thread priority scheduling, signals, cancellation, timers,
synchronous I/O, perverted scheduling for debugging,
graceful handling of stack overflow, mutex priority inheritance,
priority ceiling emulation protocol, reentrant functions,
process control, asynchronous I/O and timer objects, and
heap memory pools.
[http://www.cs.fsu.edu/~mueller/pthreads/]
- ftape
- The Linux Floppy Tape Project is developed ftape, a driver
program that controls various low cost tape drives that connect
to the floppy controller.
It is not technically backup software
but a device driver that allows you
to use your floppy tape drive through the device
files /dev/[n]qft[0-3].
It supports drives that conform to the QIC-177 and one of the
QIC-40, QIC-80, QIC-3010 and QIC-3020 standards.
It doesn't support QIC-02, IDE (ATAPI) or SCSI tape drives.
[http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/]
- FTE
- A text editor which features:
configurable color syntax highlighting,
smart indentation for several languages,
multiple files and windows,
a high degree of configurability,
binary file editing,
column/line/stream block operations,
unlimited undo and redo,
background compiler execution support,
compiler error parsing and navigation,
regular expression search and replace,
folding,
abbrevations, and more.
It has syntax highlighting modes for C, C++, Java, Perl,
REXX, Pascal, Ada, UNIX shells, Tcl, HTML, IPF, LaTeX,
email messages, and several others.
The source code is available as are binaries for Linux Intel,
Windows NT/95, DOS, and OS/2 platforms.
[http://ixtas.fri.uni-lj.si/~markom/fte/]
- ftnchek
- A program that checks Fortran code for common mistakes.
I should mention to the religiously devoted C programmers that
one of the error messages isn't, "You're programing in Fortran."
[ftp://sunsite.unc.edu/pub/Linux/devel/lang/fortran/]
[ftp://ftp.cc.gatech.edu/pub/linux/devel/lang/fortran/]
- FTOOLS
- A general software package containing utility programs to
create, examine, or modify the contents of
FITS data files.
Each FTOOLS task is a separate program which can be run in the
IRAF environment or as a standalone tool,
and scripts can be used to combine several FTOOLS to perform
complex tasks.
The FTOOLS tasks are collected together in sub-packages which
combine similar tasks. The general packages include:
- caltools, for performing various calibration tasks;
- examples, which contain sample do-nothing tasks which illustrate
how to write additional FTOOLS;
- heasarc, which performs general tasks
for high energy astrophysics; and
- xronos, a general timing analysis package.
The four general packages called the core FTOOLS packages are:
- fimage, which contains general FITS image manipulation tasks;
- futils, which contains general purpose FITS tasks;
- ptasks, which contains parameter file manipulation tasks; and
- time, which contains timing specific tasks.
The group of mission specific tasks are
asca, einstein, gro, rosat, vela5b,
and xte, each of which is tailored to the needs of a specific
project or mission.
Xselect is a general task driver which greatly simplifies the
performance of a wide range of common tasks such as extracting images
or spectra from events files.
The package also contains two graphical interface tools:
fv, a graphical FITS browser for both tables and images, and
xdf, an XTE data finder which allows the easy traversal of
an XTE data directory tree.
The FTOOLS distribution is available in source code form.
It is designed to be highly portable and requires only a C compiler,
a Fortran 77 compiler, and a Perl installation
for compilation and use.
The graphical interface tools are written using
Tcl/Tk which must be installed for their use.
Documentation for the system is extensive including installation
and user's guides for FTOOLS as well as a user's guide for
Xselect, all of which are available in PostScript format.
[http://heasarc.gsfc.nasa.gov/docs/software/ftools/ftools_menu.html]
- Ftwalk
- A package that is a complete replacement for the find command,
a powerful extension to awk,
a scripting language as powerful as Perl, and
an interactive tool for performing calculations, testing program
logic, or exploring UNIX system calls.
Ftwalk is a tool for finding and managing files that can be used
from the shell command line, in a shell script, or to write
standalone programs.
Over 300 built-in functions are available for performing
almost any imaginable type of task.
A source code distribution of Ftwalk is available.
It is written in C and has been tested on Linux Intel platforms.
The documentation is contained in an HTML document that prints out
to over 300 pages.
[http://xcs.contex.com/ftwalk/]
- Fudgit
- A double-precision multi-purpose data processing and fitting
program which can manipulate complete columns of numbers using
vector arithmetic. Fudgit is also an expression language interpreter
which understands most of C grammar and supports most of the
functions from the C math library. It is also a front end for
any plotting program supporting commands from stdin, e.g.
Gnuplot.
The features of Fudgit include:
- a command shell with history,
- abbreviations for all of the
fitting mode commands;
- user-definable macros, aliases, and shell flow control statements;
- on-line help and selectable plotting program;
- Fourier transforms and cubic spline interpolation;
- a double-precision built-in calculator,
- user-definable functions and procedures,
- double-precision vector arithmetic;
- built-in fitting series (e.g. power series,
sine and cosine series, Legendre polynomials, series of
Gaussians, Lorentzians, or exponentials);
- user-definable fitting functions;
- totally dynamic allocation of variables
and parameters, and
- the selection of fitting ranges.
The fitting routines include straight line linear least
squares (LS), straight line linear least absolute squares,
general LS using QR decomposition, general LS using singular
value decomposition (SVD), and the nonlinear Marquardt-Levenberg
method.
The Fudgit distribution includes the source code, written
in C, and a 90 page user's manual in PostScript format.
It should compile and install on most generic UNIX
platforms.
[ftp://ftp.physics.mcgill.ca/pub/Fudgit/]
[http://sunsite.unc.edu/pub/Linux/science/visualization/
]
- FunnelWeb
- A literate programming tool
which is essentially a macro
preprocessor that reads an input file containing a list of
macros and generates one or more output files defined in
terms of the macros.
FunnelWeb is programming language independent and creates
TeX output code.
Explanatory text can be included between the macros to enable
the entire document to be typeset as code documentation.
FunnelWeb is independent of the input programming language
and allows complete control over the output text.
It can be used for writing complicated programs, preparing
a related collection of text files, and for generating
Web pages.
A source code distribution of FunnelWeb is available.
It is written in C and can be compiled and used on
many platforms including Mac, MS-DOS, VAX/VMS, and most
UNIX flavors.
It is extensively documented in a 120 page user's manual
available in several formats.
[http://www.ross.net/funnelweb/]
- FunnelWeb AC
- A enhanced version of the FunnelWeb system
for literate programming.
While FunnelWeb only supports TeX output, AC is designed to
be typesetter independent.
It additionally supports HTML, creating hypertext links within
the document among the code sections.
It also supports automatic and manual insertion of line
directives so compiler errors can be flagged back to the
original source file.
[http://www.physics.uq.oz.au:8001/people/coates/funnelweb.html]
- FuzzyCLIPS
- An extended version of the CLIPS
rule-based shell for representing and manipulating fuzzy facts
and rules. It can also deal with exact, fuzzy (or inexact),
and combined reasoning, allowing fuzzy and normal terms to be
freely mixed in the rules and facts of an expert system.
The FuzzyCLIPS distribution includes the source code, written
in C, and an 80+ page user's guide in PostScript
format.
[http://ai.iit.nrc.ca/fuzzy/fuzzy.html]
- FVWM
- A window manager based on TWM. It provides virtual desktop
support, a built-in pager, windows and icons (including colored
icons), and a module interface that is easy to modify to add
functionality. The given link is to the FVWM Home Page, where the
software and documentation thereof can be found. The
Sept. and Oct. 1995 issues of the
Linux Gazette
contain several articles about FVWM.
FvwmScript is a module which allows the building of
graphical applications such as desktop accessories, button panels
with popup menus, modal dialogs, etc.
[http://www.hpc.uh.edu/fvwm/]
- FvwmConf
- An fvwm2 module to interactively configure the window manager.
The mouse is used to interactively point and click on fonts,
images, etc. with changes immediately reflected without restarting
fvwm.
A history of each parameter is saved so previous configurations
can be recalled.
A series of completely different configurations can be saved
and switched among by clicking in a list box.
A source code distribution of FvwmConf is available as is
a Debian Linux package.
Both Perl and
perlTk are required to use this.
[http://www.physics.arizona.edu/~lapeyre/fvwmconf]
- fvwm95
- A modification of the FVWM window manager
which tries to emulate the better features of Win95 without
bloating the original code.
It has the same look and feel as the Win95 GUI, the same
flexibility and easy configurability of native FVWM,
extensible functionality via loadable modules, and
a taskbar for quickly finding an application window.
[http://www.terraware.net/ftp/pub/Mirrors/FVWM95/fvwm95.html]
- FWEB
- A literate programming
tool that works in conjunction with
LaTeX.
The features of FWEB include:
processing multiple languages within a single run,
a language independent mode,
the ability to turn off pretty printing,
a built-in ratfor translator,
a built-in macro preprocessor which closely follows ANSI C,
a style file that allows parameters and behavior patterns to be adjusted,
operator overloading features that provide additional pretty printing
capabilities, and more.
A source code distribution of FWEB is available. It is written
in C and can be compiled and used on generic UNIX platforms.
A user's manual is available in
Texinfo format.
[ftp://ftp.pppl.gov/pub/fweb/]
- FWF
- The Free Widget Foundation is a project to
create a set of GUI modules for the X Window System.
The present (4/97) FWF library release contains around 40
widgets of varying degrees of complexity. Some of the widgets
are simple ones for creating buttons, labels, etc. and other
are sophisticated, high-level widgets for hierarchical file
selection, statistical data representation, image editing, etc.
Many more are under construction.
Some of the widgets in the FWF library are:
- XmAnsiTerm, which displays text with embedded ANSI
escape sequences;
- Arrow, which displays a triangle point in one of four directions;
- Animator, which cycles through a set of images at a fixed rate;
- ArticleText, which allows multi-color and multi-font text display;
- CircPerc, which is used to indicate the progress of an application;
- FileChooser, a hierarchical file chooser;
- Frame, used to provide four types of 3-D frames around
other widgets;
- Icon, used to display icons;
- MenuBar, which displays buttons in a horizontal row;
- XfwfPieMenu, a disk-like pop-up menu with items as pie segments;
- PullDown, a button with a pull-down menu;
- Rheostat, a round, dial-like valuator widget;
- RowCol, which aligns its children in rows and columns;
- Scrollbar, which creates a scrollbar;
- Shistogram, a simple histogram widget;
- Toggle, which maintains an on/off state and displays an icon
corresponding to that state;
- UGraf, a simple 2-D and 3-D graphics library;
- XmAnsiTerm, which emulates an ANSI terminal in an X Window; and
- XmPager, which displays one page from a long text; and many
more.
A source code distribution of the FWF widget library is available
as is an ELF binary for Linux boxes.
The source code can be compiled on generic UNIX platforms
via the Imakefile included in the distribution.
The XPM library is required for compilation.
Each of the widgets is documented in a man page.
A tool called wbuilder is also available which makes it easier
to create widgets by reading abbreviated code from a file
and expanding it with required boilerplate ocde.
[http://sunsite.unc.edu/pub/Linux/libs/X/fwf/]
- FXDR
- A library that allows you to make calls to the XDR routines
from Fortran. This means that you can read and write unformatted
binary files between platforms in a portable way.
[http://meteora.ucsd.edu/~pierce/fxdr_home_page.html]
- FXT
- A C++ library containing a FFT tutorial, a large
selection of FFT routines (e.g.,
a Hartley transform based FFT, a split radix FFT, a four-step
FFT, an arbitrary length FFT based on the chirp filter,
and several kinds of FFTs), fast Hartley transform
routines, number theoretic transforms, fast Walsh transform
routines, and convolution, correlation and power spectrum
routines of various types.
The package includes the source code, written in C++, as
well as a 40 page document containing notes on all of the
various routines. It is available in PostScript format.
This site also has links to a plethora of other FFT routines
in various languages as well as to introductory and
tutorial literature about the FFT.
[http://jjj.spektracom.de/fxt/fxtpage.html]