Older FM News

Dr. David M. Smith
Professor of Mathematics (Emeritus)
Loyola Marymount University
Los Angeles, CA


January, 2017:
And now for something completely different:  
a 50-digit calculator app for iPhones and iPads.  

July, 2016:
Three new modules are available that allow programs to work with FM  
when they explicitly declare some variables to be quadruple precision  
real or complex (128 bits), double length integer (64 bits), or  
quadruple length integer (128 bits).  
These modules are more general and can be more flexible for interfacing  
multiple precision type (fm), (im), or (zm) variables with user variables  
of these other three kinds.  
See below for a link to a page for these three modules.  

March, 2016:
A new package is available for multiple-precision exact rational  
arithmetic. See below for a link to a page for the files that define  
the package. Many of the other files here have changed, with some  
new code to support the rational arithmetic routines.  
Several files on the sample program page have also changed.  

July, 2015:
Some changes have been made to FM to support programs that need  
64-bit integer arithmetic. This version works with either 64-bit or  
32-bit integers.  
This version can be useful even for programs that don't need 64-bit  
integers if having extended FM over/underflow thresholds is useful.  
See the "Installing the FM package" section of file FM_User_Manual.txt  
below for more details.  

May, 2015:
Minor changes to FM.f95 have been made that can speed up the gamma  
function in some cases. Other functions that use gamma, such as  
factorial, binomial coefficients, beta, and incomplete gamma, can  
also be faster.  

August, 2014:
A new subroutine for high-precision numerical solution of  
differential equations has been added to the sample program page.  
It uses a 14th-order Runge Kutta method.  

July, 2014:
A new package for FM interval arithmetic is available.  
See below for a paper describing the package and giving several  
examples using interval arithmetic, and the link to a page for the  
files that define the package.  

June, 2014:
A few minor changes have been made to FMZM90.f95.  
can now return correct results in a few cases where some  
input values are very large or small and the previous version  
encountered overflow or underflow and gave unknown.  

January, 2013:
A few minor changes have been made to FM.f95.  
Some unused variables have been removed, and some new code for  
exception-handling in the complex arithmetic versions of exp, sin,  
cos, sinh, and cosh can now return overflowed results where the  
previous version gave unknown.  

July, 2011:
Some new routines and programs for multiple-precision integration  
have been added to the sample program page.  

May, 2011:
Version 1.3b of the FM package (April, 2011) is now available here.  
This is an update of version 1.3 as described in the TOMS 2011 paper.  
New features in this version:  
Many of the elementary and special functions are faster than the versions in 1.2 or 1.3.  
New Fortran-08 functions have been added:  
acosh(x), asinh(x), atanh(x) -- real and complex  
bessel_j0(x), bessel_j1(x), bessel_jn(n,x) -- standard names for existing functions  
bessel_y0(x), bessel_y1(x), bessel_yn(n,x)  
bessel_jn(n1,n2,x), bessel_yn(n1,n2,x)  
atan(x,y) -- name for atan2(x,y)  
hypot(x,y) -- for sqrt( x^2 + y^2 )  
norm2(a) -- for sqrt( a(1)^2 + a(2)^2 + ... + a(n)^2 )  

February, 2011:
This is a major revision of the FM package.  
The code on the ACM web site is version 1.3 of FM (June, 2010).  
This version of the FM package is described in a paper appearing in  
Transactions on Mathematical Software 37 (February, 2011) 1 -- 18.  
New functions in this version:  
bessel_j(n,x), bessel_y(n,x)  
cos_integral(x), sin_integral(x)  
cosh_integral(x), sinh_integral(x)  
erf(x), erfc(x), log_erfc(x)  
exp_integral_ei(x), exp_integral_en(n,x)  
fresnel_c(x), fresnel_s(x)  
New features in this version:  
Array syntax for the three multiple precision derived types.  
Support for much higher precision.  
Perfect rounding is now default.  
Use of undefined multiple-precision variables is detected.  

Back to the main FM page