[GPF Home Page]

Download Page

(for Fortran General Purpose Fortran Collection)

There is one file to download for the libGPF library - GPF.tgz . This includes

My own FAQ on Fortran is also available, with links to other Fortran resources.

Assuming a recent version of gfortran is on your system you can download the file and place it in an empty directory and enter

   tar xvfz GPF.tgz

   # if you are not on a platform with X11, ncurses, readline, and
   # sqlite you might have to remove some of the files from the 
   # Makefile, and change the compiler and loader options if not
   # using gfortran(1) and gcc(1). It is usually easiest to try
   # it and then handle any failures individually ...

     make

   # you might want to edit hershey.sh to select where hershey
   # font files will be installed (default is /usr/share/hershey), 
   # and then enter ...

     bash hershey.sh

   # if you do not have bash or a Posix shell you will have to run
   # the h2v program for each font, as illustrated by the simple
   # hershey.sh script.

   # By default, the graphics routines require X11, the ncurses interface
   # assumes libncurses is installed, the SQLite3 interface needs the
   # libsqlite3 library, and the readline interface needs libreadline.
   # These libraries are commonly available on many platforms but you
   # may have to remove some of the files from the makefile and the
   # compile if you do not want to build those interfaces, or install
   # these libraries.

This will compile the GPF procedures and sample utility programs.

For other programming environments you will need to change the lines in the Makefile that define the compiler command. Many Fortran 2003 features are required. Recently, I have only tested with GNU Fortran (GCC) 7.3.0 .

Note to run the graphics programs you generally have to set some environmental variables. Some examples:

      export M_DRAW_FONTLIB=/usr/share/hershey
      export M_DRAW_DEVICE=X11
      export M_DRAW_OUTPUT=out.pdf
            or
      export M_DRAW_OUTPUT="|ppmtogif > out.gif"
   # Totally optionally, to build all the sample programs including
   # the small sample programs from the man(1) pages

     #!/bin/bash
     make PROGFILES="$(find PROGRAMS -name '*.f90' ! -empty)" -j 10

MAN pages:

The man(1) pages are particularly useful when working with the code files when used with editors such as vim(1) and emacs(1). Several editors can now look up and display the man(1) pages for a routine from inside the editors. Place your cursor over a function name in the example programs and enter "K" in vim(1) to access the man(1) page for a procedure, for example. Typically, you set the MANPATH environment variable to include the full pathname to the man/ directory first. Something like

      export MANPATH=/home/$USER/GPF/man:$MANPATH::
   
(assuming you installed the source in /home/$USER/GPF) will work, depending on what shell you are using.


HTML pages:

HTML documents are the most complete reference, as they include some higher-level overviews of the larger module files that are not currently included in the man(1) pages. Otherwise, the HTML documents are for the most part generated from the man(1) pages.

Special HTML files use javascript to append groups of the HTML documents into a single manual.


BOOK_ARGUMENTS BOOK_FORTRAN BOOK_INDEX
BOOK_M_Compare_Float_Numbers BOOK_M_calcomp BOOK_M_calculator
BOOK_M_color BOOK_M_debug BOOK_M_display
BOOK_M_draw BOOK_M_drawplus BOOK_M_escape
BOOK_M_factor BOOK_M_io BOOK_M_journal
BOOK_M_list BOOK_M_logic BOOK_M_math
BOOK_M_messages BOOK_M_pixel BOOK_M_process
BOOK_M_regex BOOK_M_sort BOOK_M_sqlite
BOOK_M_steam67 BOOK_M_stopwatch BOOK_M_strings
BOOK_M_system BOOK_M_time BOOK_M_units
BOOK_M_xterm BOOK_M_xyplot  

Alphabetical listing of HTML documents:

abs.3fortran accdig.3 achar.3fortran
acos.3fortran acosd.3 acosh.3fortran
addset.3m_match adjustc.3m_strings adjustl.3fortran
adjustr.3fortran aimag.3fortran aint.3fortran
all.3fortran allocate.7fortran allocated.3fortran
almost.3 alphabet.1 amatch.3m_bre
amatch.3m_match amatch_.3m_match anagrams.1
anint.3fortran any.3fortran anyinteger_to_string.3
anyscalar_to_double.3 anyscalar_to_int64.3 anyscalar_to_real.3
anyscalar_to_real128.3 anything_to_bytes.3 arc.3m_draw
arc.3m_pixel area_of_simple_polygon.1 ARGUMENTS.3
array_constructors.7fortran arrowhead.3m_drawplus asa2pdf.1
asin.3fortran asind.3 asinh.3fortran
assert.3m_debug associate.7fortran associated.3fortran
atan.3fortran atan2.3fortran atan2d.3
atand.3 atanh.3fortran atleast.3m_strings
atomic_add.3fortran atomic_and.3fortran atomic_cas.3fortran
atomic_define.3fortran atomic_fetch_add.3fortran atomic_fetch_and.3fortran
atomic_fetch_or.3fortran atomic_fetch_xor.3fortran atomic_or.3fortran
atomic_ref.3fortran atomic_xor.3fortran atomnum2symbol.3
attr.3m_escape axis.3m_calcomp b3hs_hash_key_jenkins.3
backbuffer.3m_draw backface.3m_draw backfacedir.3m_draw
backspace.7fortran base.1 base.3m_strings
bds.3 bes.3 besi.3
besj.3 besj0.3 besj1.3
besk.3 bessel_j0.3fortran bessel_j1.3fortran
bessel_jn.3fortran bessel_y0.3fortran bessel_y1.3fortran
bessel_yn.3fortran besy.3 besy0.3
bge.3fortran bgt.3fortran bit_size.3fortran
ble.3fortran block.7fortran blocks.3
blt.3fortran BOOK_ARGUMENTS BOOK_FORTRAN
BOOK_INDEX BOOK_M_calcomp BOOK_M_calculator
BOOK_M_color BOOK_M_Compare_Float_Numbers BOOK_M_debug
BOOK_M_display BOOK_M_draw BOOK_M_drawplus
BOOK_M_escape BOOK_M_factor BOOK_M_io
BOOK_M_journal BOOK_M_list BOOK_M_logic
BOOK_M_math BOOK_M_messages BOOK_M_pixel
BOOK_M_process BOOK_M_regex BOOK_M_sort
BOOK_M_sqlite BOOK_M_steam67 BOOK_M_stopwatch
BOOK_M_strings BOOK_M_system BOOK_M_time
BOOK_M_units BOOK_M_xterm BOOK_M_xyplot
bottomjustify.3m_draw boxfit.3m_draw boxtext.3m_draw
box_month.3m_time btest.3fortran bytes_to_anything.3
c2f.3 c2s.3m_strings calculator.3
callobj.3m_draw call_draw.3m_drawplus cartesian_to_polar.3
cartesian_to_spherical.3 case.7fortran ceiling.3fortran
centertext.3m_draw centertext.3m_pixel change.1
change.3m_strings char.3fortran checkkey.3m_draw
check_commandline.3m_cli chomp.3m_strings choose.1
cincinatti_chili.7 circl.3m_calcomp circle.3m_draw
circle.3m_pixel circleprecision.3m_draw circleprecision.3m_pixel
citer.3 clear.3m_draw clear.3m_pixel
clipping.3m_draw clock.1m_draw close.7fortran
closeobj.3m_draw closepoly.3m_draw closepoly.3m_pixel
closest.3 closest_color_name.3m_color closest_color_name.3m_pixel
cmplx.3fortran cn.1 cntour.3m_calcomp
codebase.3m_strings color.3m_draw color.3m_escape
color.3m_pixel colors.1 color_mode.3m_escape
color_name2rgb.3m_color color_name2rgb.3m_pixel color_wheel.1
commandline.3m_cli command_argument_count.3fortran common.7fortran
compact.3m_strings compiler_options.3fortran compiler_version.3fortran
complex.7fortran compute.1 cond.3
condl67.3m_steam67 condv67.3m_steam67 conjg.3fortran
continue.7fortran contourlines.3 cos.3fortran
cosd.3 cosh.3fortran count.3fortran
co_broadcast.3fortran co_lbound.3fortran co_max.3fortran
co_min.3fortran co_reduce.3fortran co_sum.3fortran
co_ubound.3fortran cpl67.3m_steam67 cprint.1
cpu_time.3fortran cpv67.3m_steam67 crc32_hash.3
create_watch.3 create_watchgroup.3 crflo67.3m_steam67
critvs67.3m_steam67 critvw67.3m_steam67 crop.3m_strings
crvel67.3m_steam67 cshift.3fortran csv.3
csv_write.3 curve.3m_draw curvebasis.3m_draw
curven.3m_draw curveprecision.3m_draw curvx.3m_calcomp
curvy.3m_calcomp cycle.7fortran cylinder.1
c_associated.3fortran c_funloc.3fortran c_f_pointer.3fortran
c_f_procpointer.3fortran c_loc.3fortran c_sizeof.3fortran
d2j.3m_time d2o.3m_time d2r.3
d2r.3m_pixel d2u.3m_time d2w.3m_time
dashcode.3m_draw dashl.3m_calcomp dashp.3m_calcomp
data.7fortran date_and_time.3fortran date_to_julian.3m_time
date_to_unix.3m_time days2sec.1 days2sec.3m_time
dble.3fortran deallocate.7fortran decodebase.3
decodebase.3m_strings degrees.1 delim.3m_strings
delobj.3m_draw describe.3m_strings destroy_watch.3
destroy_watchgroup.3 deviled_eggs.7 dget.3
dgets.3 digest.1 digits.3fortran
dim.3fortran dirname.3m_io dirtys_sha256.3
disp.3m_display disp_get.3m_display disp_set.3m_display
disp_set_factory.3m_display dissect.3 djb2_hash.3
dl_init.3m_slices dl_slices.3 dl_slices.3m_slices
dl_symbol.3m_slices dnum0.3 do.7fortran
dodash.3m_match dot_product.3fortran dow.3m_time
download dprod.3fortran dp_accdig.3
draw.1 draw.3m_draw draw2.3m_draw
draw2.3m_pixel drawchar.3m_draw drawchar.3m_pixel
drawstr.3m_draw drawstr.3m_pixel draw_interpret.3m_drawplus
dshiftl.3fortran dshiftr.3fortran dtu.1
easter.1 easter.3m_time elips.3m_calcomp
ellipse.3m_drawplus empty.3 endselect.7fortran
end_pause_watch.3 envelope.3 eoshift.3fortran
epsilon.3fortran equivalence.7fortran erf.3fortran
erfc.3fortran erfc_scaled.3fortran error.3m_bre
esc.1 esc.3m_escape esc.3m_match
esc_mode.3m_escape event_query.3fortran example_text_justification.7m_draw
exchange.1 execute_command_line.3fortran exit.7fortran
exp.3fortran expand.3m_strings expandviewport.3m_draw
explain.1 exponent.3fortran expression.3
extends_type_of.3fortran extremum.3 f2c.3
f90split.1 factor.3m_calcomp factors.1
faq.7 feet_to_meters.3 ffmt.1
fileclose.3m_io filedelete.3m_io fileglob.3m_system
fileopen.3m_io filewrite.3m_io filset.3m_match
findll.1 findloc.3fortran fit.3m_calcomp
fixedform.1 fixedwidth.3m_draw fline.3m_calcomp
float.3fortran floor.3fortran flush.7fortran
fmt.3m_strings fmtdate.3m_time fmtdate_usage.3m_time
font.3m_draw font.3m_pixel format.7fortran
fortran.7fortran fortran_continuation_line.7fortran fortran_recursion.7fortran
fraction.3fortran free_source_form.7fortran frontbuffer.3m_draw
fseq.1 fstop.3m_debug gamma.3fortran
gcd.1 gcsgau1.3 gcsgau2.3
generate_uuid.3 genobj.3m_draw geographical_distance.3
getaspect.3m_draw getccl.3m_match getcharsize.3m_draw
getdepth.3m_draw getdisplaysize.3m_draw getdisplaysize.3m_pixel
getfactors.3m_draw getfontdec.3m_draw getfontsize.3m_draw
getgp.3m_draw getgp2.3m_draw getgp2.3m_pixel
getgpt.3m_draw getkey.3m_draw getopenobj.3m_draw
getpat.3m_bre getpat.3m_match getpat_.3m_match
getstring.3m_draw getvals.3m_strings getvalue.3
getviewport.3m_draw getviewport.3m_pixel get_args.3m_cli2
get_args_fixed_length.3m_cli2 get_args_fixed_size.3m_cli2 get_command.3fortran
get_command_argument.3fortran get_command_arguments_stack.3m_args get_command_arguments_string.3m_args
get_environment_variable.3fortran get_namelist.3m_args get_tmp.3m_io
glstsq.3 graph.3m_graph graph_init.3m_graph
greatest_common_divisor.3 grid.3m_calcomp guessdate.3m_time
hasher.1 hatchang.3m_draw hatchpitch.3m_draw
hcl67.3m_steam67 hcsl67.3m_steam67 hcslv267.3m_steam67
hcslvl67.3m_steam67 hello.1 hershey.3m_pixel
hisiss67.3m_steam67 hpsiss67.3m_steam67 hsl67.3m_steam67
hss167.3m_steam67 hss67.3m_steam67 hssicl67.3m_steam67
hssiss67.3m_steam67 hsv67.3m_steam67 hue.3m_color
hue.3m_pixel huegif.1 huge.3fortran
hypocycloidal.1 hypot.3 hypot.3fortran
h_array.3 h_close.3 h_open.3
iachar.3fortran iall.3fortran iand.3fortran
iany.3fortran ibclr.3fortran ibits.3fortran
ibset.3fortran ichar.3fortran ieor.3fortran
if.7fortran iget.3 igets.3
igetvalue.3 illusion.3xy Images
image_index.3fortran implicit.7fortran implied_do.7fortran
include.7fortran indent.3m_strings index.3fortran
inf.3 initialize_arrays.7fortran init_random_seed.3
init_random_seed_by_dat.3 init_random_seed_by_system_clock.3 inpolygon.3
inquire.7fortran inquiry_stopwatch.3 insert.3m_list
int.3fortran intrinsics.1fortran intrinsics.7fortran
intrinsics_project.7fortran intro_blas1.3 inum0.3
invert_2x2.3 invert_3x3.3 invert_4x4.3
invokeobj.3m_draw in_margin.3 ior.3fortran
iparity.3fortran isalnum.3m_strings isalpha.3m_strings
isascii.3m_strings isblank.3m_strings iscntrl.3m_strings
isdigit.3m_strings isgraph.3m_strings ishft.3fortran
ishftc.3fortran islower.3m_strings isnumber.3m_strings
isobj.3m_draw iso_c_binding.7fortran iso_fortran_env.7fortran
isprint.3m_strings ispunct.3m_strings isspace.3m_strings
isupper.3 isupper.3m_strings isxdigit.3m_strings
is_contiguous.3fortran is_even.3 is_iostat_end.3fortran
is_iostat_eor.3fortran is_nan.3 i_is_prime.3
j2d.3m_time join.3m_strings join_watchgroup.3
journal.3 julfit.3 julian_to_date.3m_time
junbad.3 junbat.3 junbuster.3
jundragon.3 junroach.3 junsun.3
juntrolls.3 justfy.3m_pixel ju_polfit.3
kind.3fortran kracken.3 lasagna.7
lbound.3fortran lcm.1 leadz.3fortran
least_common_multiple.3 leave_watchgroup.3 leftjustify.3m_draw
len.3fortran lenset.3m_strings len_trim.3fortran
len_white.3m_strings lgaxs.3m_calcomp lge.3fortran
lget.3 lgets.3 lglin.3m_calcomp
lgt.3fortran line.3m_calcomp line.3m_pixel
linearint.3 linestyle.3m_draw linewidth.3m_draw
linewidth.3m_pixel listout.3m_strings list_free.3
list_get.3 list_init.3 list_insert.3
list_next.3 list_put.3 lle.3fortran
llt.3fortran loadobj.3m_draw locate.3m_list
locate.3m_match locator.3m_draw locpt.3
log.3fortran log10.3fortran logical.3fortran
log_gamma.3fortran longest_command_argument.3m_args lookat.3m_draw
lower.3m_strings lowess.3 lsup.1
luhn_checksum.3 mac_and_cheese.7 magic_square.3
makeobj.3m_draw makeout.1 makepoly.3m_draw
makepoly.3m_pixel makpat.3m_bre makpat.3m_match
makpat_.3m_match man1 man2
man3 man3i man4
man5 man6 man7
man7i man8 manup.1
mapcolor.3m_draw mapcolor.3m_pixel maskl.3fortran
maskr.3fortran mat.1 mat88.3m_matrix
match.1 match.3m_bre match.3m_match
matchw.3m_strings matmul.3fortran max.3fortran
maxexponent.3fortran maxloc.3fortran maxval.3fortran
merge.3fortran merge_bits.3fortran merge_str.3m_strings
meters_to_feet.3 min.3fortran minefield.1m_draw
minexponent.3fortran minloc.3fortran minval.3fortran
mo2d.3m_time mo2v.3m_time mod.3fortran
model.1 modif.3m_strings modulo.3fortran
month.1 moon_fullness.3m_time move.3m_draw
move2.3m_draw move2.3m_pixel move_alloc.3fortran
msg.3m_strings mtprng_init.3 mtprng_init_by_array.3
mtprng_rand.3 mtprng_rand64.3 mtprng_rand_range.3
mtprng_rand_real1.3 mtprng_rand_real2.3 mtprng_rand_real3.3
mvbits.3fortran M_args.3m_args M_big_integer.3
M_bre.3m_bre M_calcomp.3m_calcomp M_calculator.3
M_calculator_programmer_notes.3 M_CLI.3m_cli M_CLI2.3m_cli2
M_color.3m_color M_Compare_Float_Numbers.3 M_csv.3
M_debug.3m_debug M_display.3m_display M_draw.3m_draw
M_drawplus.3m_drawplus M_escape.3m_escape M_f2kcli.3
M_factor.3 M_fixedform.3 M_generic_list.3
M_getopt.3 M_getopt_long.3 M_html.3
M_io.3m_io M_journal.3 M_kracken.3
M_list.3m_list M_logic.3 M_lua.3
M_math.3 M_messages.3 M_overload.3
M_pixel.3m_pixel M_process.3m_process M_random.3
M_readline.3 M_regex.3 M_regex.3m_regex
M_sha3.3 M_sort.3 M_sqlite.3
M_steam67.3m_steam67 M_stopwatch.3 M_strings.3m_strings
M_system.3m_system M_time.3m_time M_units.3
M_uuid.3 M_xterm.3 namelist.7fortran
nan.3 nc2html.1 ncr.3
nearest.3fortran needs.7fortran newpen.3m_calcomp
new_line.3fortran nframe.3m_calcomp nint.3fortran
noesc.3m_strings norm2.3fortran norm_angle_360.3
norm_angle_rad.3 nospace.3m_strings not.3fortran
notabs.3m_strings note.1 notopen.3m_io
now.1 now.3m_time null.3fortran
nullify.7fortran number.3m_calcomp numchars.3m_draw
numdiff.1 num_images.3fortran o2d.3m_time
omatch.3m_match omatch_.3m_match open.7fortran
option_stopwatch.3 ordinal_seconds.3m_time ordinal_to_date.3m_time
ortho.3m_draw ortho2.3m_draw ortho2.3m_pixel
pack.3fortran page.3m_draw page.3m_pixel
pancakes.7 paranoid.1 parity.3fortran
parse.3 patch.3m_draw patchbasis.3m_draw
patchcurves.3m_draw patchprecision.3m_draw path.3
patsiz.3m_match pause_watch.3 paws.1
pdec.3m_debug pendulum.1 penv.1
percent_done.3 perspective.3m_draw phase_of_moon.3m_time
pixel_slice.3 planets.1 plot.3m_calcomp
plots.3m_calcomp plot_axis.3xy plot_clear.3xy
plot_drawplot.3xy plot_getdatarange.3xy plot_get_plot_area.3xy
plot_hcopy.3xy plot_id.3xy plot_init.3xy
plot_init_globals.3xy plot_jupage.3xy plot_juparea.3xy
plot_jut.3xy plot_marks.3xy plot_page_aspect.3xy
plot_setdash.3xy plot_setfill.3xy plot_setmark.3xy
plot_set_plot_area.3xy plot_set_xmin.3xy plot_storage.3xy
plot_sz.3xy plot_title.3xy plot_toggle.3xy
plot_z.3xy plot_zmode.3xy pls67.3m_steam67
point.3m_draw point2.3m_draw point2.3m_pixel
pointers.7fortran polar.3m_calcomp polarview.3m_draw
polar_to_cartesian.3 polar_to_cartesian.3m_pixel poly.3m_calcomp
poly.3m_draw poly2.3m_draw poly2.3m_pixel
polyarea.3 polyarea_shoelace.3 polyfill.3m_draw
polyhatch.3m_draw polyline2.3m_drawplus polyline2.3m_pixel
poly_intercept.3 pop.3m_draw popattributes.3m_draw
popcnt.3fortran popdev.3m_draw popmatrix.3m_draw
poppar.3fortran popviewport.3m_draw pounds_to_kilograms.3
ppm.5 precision.3fortran prefposition.3m_draw
prefsize.3m_draw prefsize.3m_pixel present.3fortran
prime_factors.3 print.3m_draw print_ascii.3m_pixel
print_dictionary.3m_args print_dictionary.3m_cli print_inquire.3m_io
print_ppm.3m_pixel print_watch.3 prliq67.3m_steam67
process_close.3m_process process_open_read.3m_process process_open_write.3m_process
process_readall.3m_process process_readline.3m_process process_writeline.3m_process
product.3fortran protected.7fortran prstm67.3m_steam67
psl167.3m_steam67 psl67.3m_steam67 psv167.3m_steam67
psv267.3m_steam67 psv67.3m_steam67 pumpkin_roll.7
pure.7fortran push.3m_draw pushattributes.3m_draw
pushdev.3m_draw pushmatrix.3m_draw pushviewport.3m_draw
qhfg.3 qhsg.3 qtfg.3
quadratic.1 quadratic.3 quote.3
quote.3m_strings r2d.3 radix.3fortran
random_hex.3 random_int.3 random_kiss64.3
random_number.3fortran random_seed.3fortran random_string.3
range.1 range.3fortran rank.3fortran
rcurve.3m_draw rd.3m_io rdbox.3
rdpnt.3 rdraw.3m_draw rdraw2.3m_draw
rdraw2.3m_pixel readgif.3 readgif.3m_readgif
read_all.3m_io read_line.3m_io read_table.3m_io
read_watch.3 real.3fortran recipes.7
rect.3m_calcomp rect.3m_draw rect.3m_pixel
redo.3 regcomp.3m_regex regerror.3m_regex
regexec.3m_regex regfree.3m_regex regmatch.3m_regex
regsub.3m_regex remove.3m_list rep.1
repeat.3fortran replace.3m_list replace.3m_strings
reset_watch.3 reshape.3fortran retrev.3
return.7fortran reverse.1 reverse.3m_strings
rewind.7fortran rgbmono.3m_color rget.3
rgets.3 rgetvalue.3 rightjustify.3m_draw
rmove.3m_draw rmove2.3m_draw rmove2.3m_pixel
rnum0.3 rotate.3m_draw rotate13.3m_strings
rpatch.3m_draw rrspacing.3fortran rsdraw2.3m_draw
rsmove2.3m_draw s2c.3m_strings s2v.3m_strings
s2vs.3m_strings same_type_as.3fortran save.7fortran
saveobj.3m_draw scale.3fortran scale.3m_calcomp
scale.3m_draw scale1.3 scale3.3
scalg.3m_calcomp scan.3fortran scramble.3
scratch.3m_io scratch.7fortran sdbm_hash.3
sdraw2.3m_draw sec2days.1 sec2days.3m_time
sector.3m_draw seefont.1 seefont.3m_drawplus
select.7fortran selected_char_kind.3fortran selected_int_kind.3fortran
selected_real_kind.3fortran select_type.7fortran setprompts.3
set_args.3m_cli2 set_environment_variable.3m_system set_exponent.3fortran
sget.3 sgetgp2.3m_draw sgets.3
sha256.3 sha3.1 shape.3fortran
shell.1 shifta.3fortran shiftl.3fortran
shiftr.3fortran show.3 sign.3fortran
sign.7fortran signs.3 sin.3fortran
sind.3 sinh.3fortran sisiss67.3m_steam67
size.3fortran skekur1.3 skekurx.3
slice.1m_draw slocator.3m_draw slurp.3m_io
smoot.3m_calcomp smove2.3m_draw sngl.3fortran
snum0.3 soft_pretzel.7 sort_quick_rx.3
sort_shell.3 spacing.3fortran specified.3m_cli
specified.3m_cli2 spherical_to_cartesian.3 spirograph.3m_drawplus
splift.3 splint.3 split.3m_strings
splitname.1 splitpath.3m_io spoiler.1
spread.3fortran spsiss67.3m_steam67 sqlite3_begin.3
sqlite3_close.3 sqlite3_column_props.3 sqlite3_column_query.3
sqlite3_commit.3 sqlite3_create_table.3 sqlite3_delete_table.3
sqlite3_do.3 sqlite3_errmsg.3 sqlite3_error.3
sqlite3_finalize.3 sqlite3_get_column.3 sqlite3_get_table.3
sqlite3_insert.3 sqlite3_libversion.3 sqlite3_libversion_number.3
sqlite3_next_row.3 sqlite3_open.3 sqlite3_prepare.3
sqlite3_prepare_select.3 sqlite3_query_table.3 sqlite3_reset.3
sqlite3_rollback.3 sqlite3_set_column.3 sqlite3_sourceid.3
sqlite3_step.3 sqrt.3fortran ssl67.3m_steam67
sssicl67.3m_steam67 sssiss67.3m_steam67 start_watch.3
state.3m_pixel stclos.3m_match stddev.3
stderr.3m_debug steamv67.3m_steam67 stop.7fortran
stop_watch.3 storage_size.3fortran store.3
str.3 stretch.3m_strings strgar2.3
strgar3.3 strgarr.3 string_to_value.3m_strings
string_to_values.3m_strings strlength.3m_draw strlength.3m_pixel
strtok.3m_strings stuff.3 stuffa.3
substitute.3 substitute.3m_strings sum.3fortran
swallow.3m_io swap.3 swapbuffers.3m_draw
swap_any.3 switch.3m_strings symbol.3m_calcomp
symbol2atomnum.3 system_access.3m_system system_chdir.3m_system
system_chmod.3m_system system_chown.3m_system system_clearenv.3m_system
system_clock.3fortran system_closedir.3m_system system_cpu_time.3m_system
system_dir.3m_io system_errno.3m_system system_getcwd.3m_system
system_getegid.3m_system system_getenv.3m_system system_geteuid.3m_system
system_getgid.3m_system system_getgrgid.3m_system system_gethostname.3m_system
system_getkey.3 system_getlogin.3m_system system_getpid.3m_system
system_getppid.3m_system system_getpwuid.3m_system system_getsid.3m_system
system_getuid.3m_system system_getumask.3m_system system_initenv.3m_system
system_isblk.3m_system system_ischr.3m_system system_isdir.3m_system
system_isfifo.3m_system system_islnk.3m_system system_isreg.3m_system
system_issock.3m_system system_kill.3m_system system_link.3m_system
system_mkdir.3m_system system_mkfifo.3m_system system_opendir.3m_system
system_perm.3m_system system_perror.3m_system system_putenv.3m_system
system_rand.3m_system system_readdir.3m_system system_readenv.3m_system
system_readline.3 system_realpath.3m_system system_remove.3m_system
system_rename.3m_system system_rewinddir.3m_system system_rmdir.3m_system
system_setsid.3m_system system_setumask.3m_system system_sleep.3m_time
system_srand.3m_system system_stat.3m_system system_stat_print.3m_system
system_uname.3m_system system_unlink.3m_system system_unsetenv.3m_system
system_utime.3m_system tabgraph.3 table2html.1
tabulate.1 tan.3fortran tand.3
tanh.3fortran target.1 textang.3m_draw
textang.3m_pixel textjustify.3m_draw textsize.3m_draw
textsize.3m_pixel textslant.3m_draw textweight.3m_draw
this_image.3fortran tiny.3fortran today.1
topic.1 topjustify.3m_draw tostring.3m_display
tostring_set.3m_display tostring_set_factory.3m_display tph67.3m_steam67
tphl67.3m_steam67 tps67.3m_steam67 tpsl67.3m_steam67
trailz.3fortran transfer.3fortran translate.3m_draw
transliterate.3m_strings transpose.3fortran trapezoidal_integral.3
tree_insert.3 tree_print.3 triangle.1
trim.3fortran tsl167.3m_steam67 tsl67.3m_steam67
tslh67.3m_steam67 ttee.1 txt2man.1
u2d.3m_time uarc.3m_drawplus ubound.3fortran
uc.3 uconic.3m_drawplus ufpp.1
ufpp_overview.7 unexpandviewport.3m_draw unicode_example1.1
uniq.3m_io unique.3 unit_check.3m_debug
unit_check_bad.3m_debug unit_check_done.3m_debug unit_check_good.3m_debug
unit_check_msg.3m_debug unit_check_start.3m_debug unix_to_date.3m_time
unpack.3fortran unquote.3 unquote.3m_strings
up.3m_draw update.3m_escape upper.3m_strings
upper_quoted.3m_strings use.7fortran v2mo.3m_time
v2s.3 v2s.3m_strings value_to_string.3
value_to_string.3m_strings vcl67.3m_steam67 verify.3fortran
vexit.3m_draw vexit.3m_pixel vflush.3m_draw
vgetdev.3m_draw viewport.3m_draw viewport.3m_pixel
vinit.3m_draw vinit.3m_pixel visible.3m_strings
visl67.3m_steam67 visv67.3m_steam67 vnewdev.3m_draw
voutput.3m_draw vsetflush.3m_draw vsl67.3m_steam67
w2d.3m_time wait.7fortran what.1
what_overview.7 where.3m_calcomp where.7fortran
width.3m_calcomp window.3m_draw writegif.3
writegif.3m_writegif write_animated_gif.3 write_animated_gif.3m_writegif_animated
xauth_key.1 xcentertext.3m_draw xcentertext.3m_pixel
xterm_clear.3 xterm_colors.3 xterm_font.3
xterm_geometry.3 xterm_get_colors.3 xterm_get_font.3
xterm_get_geometry.3 xterm_get_iconstate.3 xterm_get_pencolor.3
xterm_get_position.3 xterm_keywords.3 xterm_labels.3
xterm_occupancy.3 xterm_pencolor.3 xterm_position.3
xterm_width.3 xterm_xrdb.3 xy.1
xy_arrow.3xy xy_aspct.3xy xy_bans.3xy
xy_convert.3xy xy_con_x.3xy xy_con_y.3xy
xy_fxed.3xy xy_getdat.3xy xy_getmark.3xy
xy_getrel.3xy xy_getxy_jufont.3xy xy_idbox.3xy
xy_idbox0.3xy xy_ifdrawn.3xy xy_iflou.3xy
xy_iftext.3xy xy_init_default.3xy xy_init_graphics.3xy
xy_init_labels.3xy xy_init_markers.3xy xy_jucp.3xy
xy_jucp2.3xy xy_jucurv.3xy xy_judraw.3xy
xy_jufont.3xy xy_jugetwn.3xy xy_jumapc.3xy
xy_juprint.3xy xy_juprints.3xy xy_juput.3xy
xy_jurang.3xy xy_jutitl.3xy xy_jutitlx.3xy
xy_laxis.3xy xy_listout3.3xy xy_loadtl.3xy
xy_noclose.3xy xy_obj12345.3xy xy_pause.3xy
xy_pickpnt.3xy xy_printban.3xy xy_printbanv.3xy
xy_rasters.3xy xy_resetpens.3xy xy_retrv2.3xy
xy_setcnv.3xy xy_setlbl.3xy xy_setsize.3xy
xy_set_bigger.3xy xy_slide.3xy xy_tidybox.3xy
xy_tidybox1.3xy xy_tidybox2.3xy xy_units.3xy
xy_ustrlen.3xy xy_ustrlen2.3xy xy_zoom.3xy
ycentertext.3m_draw ycentertext.3m_pixel zsdh67.3m_steam67
zsdt67.3m_steam67 zsrh67.3m_steam67 zsrt67.3m_steam67
_banner.1 _cmp.1 _colrm.1
_dirname.1 _echo.1 _expand.1
_false.1 _fmt.1 _grep.1
_hostname.1 _kill.1 _link.1
_ln.1 _logname.1 _ls.1
_mkdir.1 _mkfifo.1 _mv.1
_paste.1 _printenv.1 _pwd.1
_realpath.1 _rename.1 _rev.1
_rm.1 _rmdir.1 _seq.1
_showumask.1 _shuf.1 _sleep.1
_stat.1 _tac.1 _time.1
_touch.1 _tr.1 _true.1
_tty.1 _uname.1 _unlink.1
_uuidgen.1 _which.1 _whoami.1
_yes.1    

Footnotes:

Most of the code is maintained using a custom programming environment. The original source files are mostly ufpp(1) input files and/or HTML documents. To eliminate the need to install this custom environment all the source files have been expanded to standard Fortran and C source.

To simplify building the resulting collection of code a make(1) file has been automatically generated using makeout(1) to compile the sources.

Using a variety of utilities (primarily ufpp(1) and txt2man(1) ) the help text is generally part of the source file and automatically converted to comments, flat text, HTML and man(1) pages.

For those interested (particulary since ufpp(1) is one of the utilities included in this collection) most of the source is kept as ufpp(1) files. ufpp(1) can write text blocks to various files. This allows basic documentation to easily be maintained with the source. These blocks are then converted either into comments or help functions in the code by ufpp(1), but also optionally written to a common directory where they can be further processed, if required (they might already be HTML, which generally does not need further processing). For simple routines the documentation is often written to look like a flat text version of a man(1) page; which has proven to be a good standard for documenting procedures, which many people are familiar with, and integrates into Unix/Linux environments and tools. The txt2man(1) utility is used to convert the flat files to *roff files; other files are run thru markdown(1) or LaTex(1) or other utilities as appropriate, based on the suffix of the files.

The utility groff(1) was originally used to convert the man(1) pages to HTML and PDF but it has a bug as of this writing where it removes significant spaces when generating HTML; so the man(1) pages are now formatted using manserver.pl. Also see rman(1), html2man(1), and roff2html(1). It sounds complicated but is totally automated just using a few bash(1) scripts to glue it together, and provides for an easy way to maintain documentation and source in the same file.

LINK: GPF home