|
|
|
|
SOFTWARE
Here's some software I've written, which you can download for free. These are mostly small,
stand-alone programs; just download the source code and compile. Enjoy!
Scientific Software
- Linear Regression (PGCC)
- linreg.f90 - Linear regression (Fortran-90 subroutine)
- e2v.f90 - Convert particle energy to velocity (Fortran-90)
- v2e.f90 - Convert particle velocity to energy (Fortran-90)
- e2t.f90 - Convert energy to temperature (Fortran-90)
- t2e.f90 - Convert particle temperature to energy (Fortran-90)
- cg.f90 - Calculate Clebsch-Gordan coefficients (Fortran-90)
Based on equations from Numerical Table of Clebsch-Gordan Coefficients by Benjamin E. Chi, 1962.
- Introductory material from Chi's book
- Fortran-95 program cgtable.f95 to reproduce Chi's tables
- Text file of tables from Chi's book, reproduced using program cgtable.f95
- PDF file of a reproduction of Chi's book, including introductory material and reproduced tables
Celestial Mechanics
Mathematical Software
- anglevec.f90 - Find separation angle between two vectors (Fortran-90)
- auxtrig.f90 - Auxiliary trigonometric functions (Fortran-90 module)
- crossprd.f90 - Vector cross product (Fortran-90 subroutine)
- cuberoot.f90 - Cube root (Fortran-90 function)
- dec2frac.f95 - Convert a decimal number to a fraction (Fortran-95)
- frac.f90 - Fractional part of a number (Fortran-90 function)
- fraction.f90 - Fraction data type (Fortran-90 module)
- invhyp.f90 - Inverse hyperbolic functions (Fortran-90 module)
- linterpol.f90 - Piecewise linear interpolation (Fortran-90 function)
- m22det.f90 - Determinant of a 2×2 matrix (Fortran-90)
- m22inv.f90 - Inverse of a 2×2 matrix (Fortran-90)
- m33det.f90 - Determinant of a 3×3 matrix (Fortran-90)
- m33inv.f90 - Inverse of a 3×3 matrix (Fortran-90)
- m44det.f90 - Determinant of a 4×4 matrix (Fortran-90)
- m44inv.f90 - Inverse of a 4×4 matrix (Fortran-90)
- m55det.f90 - Determinant of a 5×5 matrix (Fortran-90)
- m55inv.f90 - Inverse of a 5×5 matrix (Fortran-90)
- m66det.f90 - Determinant of a 6×6 matrix (Fortran-90)
- m66inv.f90 - Inverse of a 6×6 matrix (Fortran-90)
- quadfit.f90 - Quadratic curve fit (Fortran-90 subroutine)
- rand-normal.f90 - Random number, normal distribution (Fortran-90 subroutine)
- reduce.f90 - Reduction of an angle (Fortran-90)
- rpn.f95 - A powerful
RPN calculator (Fortran-95)
- sround.f90 - Statistical rounding function (Fortran-90 function):
Calendar Calculations
- holidays.f90 - Holidays (Fortran-90)
- fedholidays.f90 - Federal holidays (Fortran-90)
- cal.f90 - Calendar program (similar to UNIX "cal") (Fortran-90)
- caljul.f90 - Calendar program for Julian calendar (similar to UNIX "cal") (Fortran-90)
- bigcal.f90 - Program for printing large one-month calendars (Fortran-90)
- greg2jd.f90 - Gregorian date to Julian day (Fortran-90)
- jd2greg.f90 - Julian day to Gregorian date (Fortran-90)
- doy2greg.f90 - Day of year to Gregorian date (Fortran-90)
- greg2doy.f90 - Gregorian date to day of year (Fortran-90)
- greg2dow.f90 - Gregorian date to day of week (Fortran-90)
- leapyr.f90 - Leap year (Fortran-90)
- easter.for - Date of Easter (Fortran-77)
- julianday.f90 - Generate Julian day tables (Fortran-90)
- doy.f90 - Generate day-of-year tables (Fortran-90)
- Display the current date, time, day of year, and Julian day:
Computer Programming Languages
Computer-Related
- fix2free.f90 - Convert Fortran fixed to free format (Fortran-90)
- chcase.f90 - Convert strings to uppercase or lowercase (Fortran-90)
- toupper.f90 - Convert a file to uppercase (Fortran-90)
- tolower.f90 - Convert a file to lowercase (Fortran-90)
- dispcr.c - Display end-of-line characters (C)
- replcr.c - Convert end-of-line characters (C)
- replcrb.c - Convert end-of-line characters (batch version) (C)
- datatest.c - Display C data type sizes (C)
- Reverse byte order of a variable:
- timer.f90 - Compute elapsed time (Fortran-90 module)
- utf8.f90 - Display UTF-8 encoding of Unicode characters (Fortran-90)
- Display whether computer is little- or big-endian:
- Convert IEEE floating-point numbers to/from hex integers:
- hexdump.f90 - Dump file contents in hex (Fortran-90)
- octdump.f90 - Dump file contents in octal (Fortran-90)
- filesize.f90 - Determine the size of a file (Fortran-90 subroutine)
- inquireu.f90 - Inquire file by unit (Fortran-90 subroutine)
- inquiref.f90 - Inquire file by file name (Fortran-90 subroutine)
- naninf.f90 - Detect ±Inf and Nan floats (Fortran-90 functions)
- Return EBCDIC character, given index:
- Return index for given EBCDIC character:
Linguistics
Games
Miscellaneous Software
- roman.f90 - Roman numerals (Fortran-90)
- isbn10.f90 - Compute ISBN-10 check digit (Fortran-90)
- isbn13.f90 - Compute ISBN-13 check digit (Fortran-90)
- marathon.f90 - Compute marathon training schedule (Fortran-90)
- pace.f90 - Compute running pace (Fortran-90)
- Fortune cookie program:
I'm most fluent in the Fortran and C computer programming languages. I also spent several years
at NASA writing assembly language code for spacecraft on-board computers (the NSSC-I and DF-224).
RECOMMENDED COMMERCIAL SOFTWARE
These are the most useful commercial software applications I use:
- Take Command command-line shell, by JP Software
- TSE Pro text editor, by SemWare
- Lahey Fortran-95 compiler, by Lahey
- OriginPro plotting program, by OriginLab
- PCTeX typesetting program, by PCTeX
Contact Information
I may be contacted at:
|
|