diff --git a/pywafo/build_all.py b/pywafo/build_all.py
index 2959eab..04f70f8 100644
--- a/pywafo/build_all.py
+++ b/pywafo/build_all.py
@@ -1,5 +1,13 @@
"""
-builds all extensions
+builds all extensions
+
+In notepad (or your favourite text editor) create a new text file and enter the following in the file:
+[build]
+compiler = mingw32
+
+Save the file as "C:\Python25\Lib\distutils\distutils.cfg".
+This will tell python to use the MinGW compiler when compiling extensions
+
See also http://www.scipy.org/Cookbook/CompilingExtensionsOnWindowsWithMinGW
"""
diff --git a/pywafo/src/wafo/autumn.gif b/pywafo/src/wafo/autumn.gif
new file mode 100644
index 0000000..fa351dd
Binary files /dev/null and b/pywafo/src/wafo/autumn.gif differ
diff --git a/pywafo/src/wafo/c_library.pyd b/pywafo/src/wafo/c_library.pyd
index cce893d..57f0ea8 100644
Binary files a/pywafo/src/wafo/c_library.pyd and b/pywafo/src/wafo/c_library.pyd differ
diff --git a/pywafo/src/wafo/containers.py b/pywafo/src/wafo/containers.py
index 28a4df9..4b5245b 100644
--- a/pywafo/src/wafo/containers.py
+++ b/pywafo/src/wafo/containers.py
@@ -68,7 +68,7 @@ class PlotData(object):
>>> h1 = d2()
Plot with confidence interval
- >>> d3 = PlotData(np.sin(x),x)
+ >>> d3 = PlotData(np.sin(x), x)
>>> d3.children = [PlotData(np.vstack([np.sin(x)*0.9, np.sin(x)*1.2]).T,x)]
>>> d3.plot_args_children=[':r']
>>> h = d3.plot()
@@ -170,7 +170,7 @@ class PlotData(object):
fun = getattr(integrate, method)
if isinstance(self.args, (list, tuple)): # Multidimensional data
raise NotImplementedError('integration for ndim>1 not implemented')
- #ndim = len(self.args)
+ # ndim = len(self.args)
# if ndim < 2:
# msg = '''Unable to determine plotter-type, because
# len(self.args)<2.
diff --git a/pywafo/src/wafo/cov2mod.pyd b/pywafo/src/wafo/cov2mod.pyd
index 3cc7a5a..c129047 100644
Binary files a/pywafo/src/wafo/cov2mod.pyd and b/pywafo/src/wafo/cov2mod.pyd differ
diff --git a/pywafo/src/wafo/covariance/estimation.py b/pywafo/src/wafo/covariance/estimation.py
index c538da2..51a2ea2 100644
--- a/pywafo/src/wafo/covariance/estimation.py
+++ b/pywafo/src/wafo/covariance/estimation.py
@@ -34,7 +34,7 @@ def sampling_period(t_vec):
return dt
-class CovarianceEstimatior(object):
+class CovarianceEstimator(object):
'''
Class for estimating AutoCovariance from timeseries
@@ -64,7 +64,7 @@ class CovarianceEstimatior(object):
'''
def __init__(self, lag=None, tr=None, detrend=None, window='boxcar',
flag='biased', norm=False, dt=None):
- self.lag
+ self.lag = lag
self.tr = tr
self.detrend = detrend
self.window = window
diff --git a/pywafo/src/wafo/covariance/test/test_covariance.py b/pywafo/src/wafo/covariance/test/test_covariance.py
index 8e34eb3..5ab3ab5 100644
--- a/pywafo/src/wafo/covariance/test/test_covariance.py
+++ b/pywafo/src/wafo/covariance/test/test_covariance.py
@@ -1,6 +1,6 @@
from numpy.testing import (run_module_suite, assert_equal,
- assert_array_almost_equal,
- assert_almost_equal, assert_array_equal) # @UnusedImport @IgnorePep8
+ assert_array_almost_equal)
+# assert_almost_equal, assert_array_equal)
import wafo.spectrum.models as sm
# from wafo.covariance import CovData1D
diff --git a/pywafo/src/wafo/data/info.py b/pywafo/src/wafo/data/info.py
index 14ffa29..1398b43 100644
--- a/pywafo/src/wafo/data/info.py
+++ b/pywafo/src/wafo/data/info.py
@@ -1,442 +1,464 @@
-"""
-Data package in WAFO Toolbox.
-
-Contents
---------
-atlantic - Significant wave-height data recorded in the Atlantic Ocean
-gfaks89 - Surface elevation measured at Gullfaks C 24.12.1989
-gfaksr89 - Reconstructed surface elevation measured at Gullfaks C 24.12.1989.
-japansea - coastline map of The Japan Sea
-northsea - coastline map of The Nortsea
-sea - Surface elevation dataset used in WAT version 1.1.
-sfa89 - Wind measurements at Statfjord A 24.12.1989
-sn - Fatigue experiment, constant-amplitude loading.
-yura87 - Surface elevation measured off the coast of Yura
-
-
-
-This module gives gives detailed information and easy access to all datasets
-included in WAFO
-
-"""
-from numpy import (loadtxt, nan)
-import os
-__path2data = os.path.dirname(os.path.realpath(__file__))
-
-__all__ = ['atlantic', 'gfaks89', 'gfaksr89', 'japansea', 'northsea', 'sea',
- 'sfa89', 'sn', 'yura87']
-
-_NANS = set(['nan', 'NaN', '-1.#IND00+00', '1.#IND00+00', '-1.#INF00+00'])
-
-def _tofloat(x):
- return nan if x in _NANS else float(x or 0)
-
-_MYCONVERTER = {}
-for i in range(2):
- _MYCONVERTER[i] = _tofloat
-
-def _load(file):
- """ local load function
- """
- return loadtxt(os.path.join(__path2data, file))
-
-def _loadnan(file):
- """ local load function accepting nan's
- """
- return loadtxt(os.path.join(__path2data, file), converters=_MYCONVERTER)
-
-def atlantic():
- """
- Return Significant wave-height data recorded in the Atlantic Ocean
-
- Data summary
- ------------
- Size : 582 X 1
- Sampling Rate : ~ 14 times a month
- Device :
- Source :
- Format : ascii
-
- Description
- ------------
- atlantic.dat contains average significant wave-height data recorded
- approximately 14 times a month in December-February during 7 years and
- at 2 locations in the Atlantic Ocean
-
- Example
- --------
- >>> import pylab
- >>> import wafo
- >>> Hs = wafo.data.atlantic()
- >>> h = pylab.plot(Hs)
-
- Acknowledgement:
- ---------------
- This dataset were made available by Dr. David Carter
- and Dr. David Cotton, Satellite Observing Systems, UK.
- """
- return _load('atlantic.dat')
-def gfaks89():
- """
- Return Surface elevation measured at Gullfaks C 24.12.1989
-
- Data summary
- ------------
- Size : 39000 X 2
- Sampling Rate : 2.5 Hz
- Device : EMI laser
- Source : STATOIL
- Format : ascii, c1: time c2: surface elevation
-
- Description
- ------------
- The wave data was measured 24th December 1989 at the Gullfaks C platform
- in the North Sea from 17.00 to 21.20. The period from 20.00 to 20.20
- is missing and contains NaNs. The water depth of 218 m is
- regarded as deep water for the most important wave components.
- There are two EMI laser sensors named 219 and 220. This data set is
- obtained from sensor 219, which is located in the Northwest
- corner approximately two platform leg diameters away from
- the closest leg.
- Thus the wave elevation is not expected to be significantly
- affected by diffraction effects for incoming waves in the western sector.
- The wind direction for this period is from the south.
- Some difficulties in calibration of the instruments have been reported
- resulting in several consecutive measured values being equal or almost equal
- in the observed data set.
-
- This dataset is for non-commercial use only.
-
- Hm0 = 6.8m, Tm02 = 8s, Tp = 10.5
-
- Example
- -------
- >>> import pylab
- >>> import wafo
- >>> x = wafo.data.gfaks89()
- >>> h = pylab.plot(x[:,0],x[:,1])
-
- Acknowledgement:
- ---------------
- This dataset were prepared and made available by Dr. S. Haver,
- STATOIL, Norway
-
- See also
- --------
- gfaksr89, northsea
-
- """
- return _loadnan('gfaks89.dat')
-def gfaksr89():
- """
- Return a reconstruction of surface elevation measured at Gullfaks C 24.12.1989.
-
-
- Data summary
- ------------
- Size : 39000 X 2
- Sampling Rate : 2.5 Hz
- Device : EMI laser
- Source : STATOIL
- Format : ascii, c1: time c2: surface elevation
-
- Description
- -----------
- This is a reconstructed version of the data in the GFAKS89.DAT file.
- The following calls were made to reconstruct the data:
-
- inds = findoutliers(gfaks89,.02,2,1.23);
- gfaksr89 = reconstruct(gfaks89,inds,6);
-
- The wave data was measured 24th December 1989 at the Gullfaks C platform
- in the North Sea from 17.00 to 21.20. The period from 20.00 to 20.20
- is missing in the original data. The water depth of 218 m is
- regarded as deep water for the most important wave components.
- There are two EMI laser sensors named 219 and 220. This data set is
- obtained from sensor 219, which is located in the Northwest
- corner approximately two platform leg diameters away from
- the closest leg.
- Thus the wave elevation is not expected to be significantly
- affected by diffraction effects for incoming waves in the western sector.
- The wind direction for this period is from the south.
- Some difficulties in calibration of the instruments have been reported
- resulting in several consecutive measured values being equal or almost equal
- in the observed data set.
-
- Hm0 = 6.8m, Tm02 = 8s, Tp = 10.5
-
-
- Example
- -------
- >>> import pylab
- >>> import wafo
- >>> x = wafo.data.gfaksr89()
- >>> h = pylab.plot(x[:,0],x[:,1])
-
-
- See also
- --------
- gfaks89
- """
- return _loadnan('gfaksr89.dat')
-def japansea():
- """
- Return coastline map of The Japan Sea
-
-
- Data summary
- ------------
- Size : 692 X 2
- Sampling Rate :
- Device :
- Source : http://crusty.er.usgs.gov/coast/getcoast.html
- Format : ascii, c1: longitude c2: latitude
-
- Description
- -----------
- JAPANSEA.DAT contains data for plotting a map of The Japan Sea.
- The data is obtained from USGS coastline extractor.
-
- Example:
- -------
- #the map is seen by
-
- >>> import pylab
- >>> import wafo
- >>> map1 = wafo.data.japansea()
- >>> h = pylab.plot(map1[:,0],map1[:,1])
- >>> lon_loc = [131,132,132,135,139.5,139]
- >>> lat_loc = [46, 43, 40, 35, 38.3, 35.7]
- >>> loc = ['China','Vladivostok','Japan Sea', 'Japan', 'Yura','Tokyo']
- >>> algn = 'right'
- >>> for lon, lat, name in zip(lon_loc,lat_loc,loc):
- pylab.text(lon,lat,name,horizontalalignment=algn)
-
-
- # If you have the m_map toolbox (see http://www.ocgy.ubc.ca/~rich/):
- m_proj('lambert','long',[130 148],'lat',[30 48]);
- m_line(map(:,1),map(:,2));
- m_grid('box','fancy','tickdir','out');
- m_text(131,46,'China');
- m_text(132,43,'Vladivostok');
- m_text(132,40,'Japan Sea');
- m_text(135,35,'Japan');
- m_text(139.5,38.3,'Yura');
- m_text(139,35.7,'Tokyo');
- """
- return _loadnan('japansea.dat')
-def northsea():
- """
- NORTHSEA coastline map of The Nortsea
-
- Data summary
- -------------
- Size : 60646 X 2
- Sampling Rate :
- Device :
- Source : http://crusty.er.usgs.gov/coast/getcoast.html
- Format : ascii, c1: longitude c2: latitude
-
- Description
- -----------
- NORTHSEA.DAT contains data for plotting a map of The Northsea.
- The data is obtained from USGS coastline extractor.
-
- Example
- -------
- # the map is seen by
-
- >>> import pylab
- >>> import wafo
- >>> map1 = wafo.data.northsea()
- >>> h = pylab.plot(map1[:,0],map1[:,1])
- >>> lon_pltfrm = [1.8, 2.3, 2., 1.9, 2.6]
- >>> lat_pltfrm = [61.2, 61.2, 59.9, 58.4, 57.7]
- >>> pltfrm = ['Statfjord A', 'Gullfaks C', 'Frigg', 'Sleipner', 'Draupner']
- >>> h = pylab.scatter(lon_pltfrm,lat_pltfrm);
- >>> algn = 'right'
- >>> for lon, lat, name in zip(lon_pltfrm,lat_pltfrm,pltfrm):
- pylab.text(lon,lat,name,horizontalalignment=algn); algn = 'left'
-
-
- >>> lon_city = [10.8, 10.8, 5.52, 5.2]
- >>> lat_city = [59.85, 63.4, 58.9, 60.3]
- >>> city = ['Oslo','Trondheim','Stavanger', 'Bergen']
- >>> h = pylab.scatter(lon_city,lat_city);
- >>> algn = 'right'
- >>> for lon, lat, name in zip(lon_city,lat_city,city):
- pylab.text(lon,lat,name,horizontalalignment=algn)
-
- # If you have the mpl_toolkits.basemap installed
- >>> from mpl_toolkits.basemap import Basemap
- >>> import matplotlib.pyplot as plt
-
- # setup Lambert Conformal basemap.
- >>> m = Basemap(width=1200000,height=900000,projection='lcc',
- resolution='f',lat_1=56.,lat_2=64,lat_0=58,lon_0=5.)
- >>> m.drawcoastlines()
- >>> h = m.scatter(lon_pltfrm,lat_pltfrm);
- >>> algn = 'right'
- >>> for lon, lat, name in zip(lon_pltfrm,lat_pltfrm,pltfrm):
- m.text(lon,lat,name,horizontalalignment=algn); algn = 'left'
- >>> m.scatter(lon_city,lat_city)
- >>> algn = 'right'
- >>> for lon, lat, name in zip(lon_city,lat_city,city):
- m.text(lon,lat,name,horizontalalignment=algn)
- """
- return _loadnan('northsea.dat')
-def sea():
- """
- Return Surface elevation dataset used in WAT version 1.1.
-
- Data summary
- ------------
- Size : 9524 X 2
- Sampling Rate : 4.0 Hz
- Device : unknown
- Source : unknown
- Format : ascii, c1: time c2: surface elevation
-
- Description
- -----------
- The wave data was used in one of WAFO predecessors, i.e. the Wave
- Analysis Toolbox version 1.1 (WAT)
- Hm0 = 1.9m, Tm02 = 4.0s, Tp2 = 11.5s Tp1=5.6s
-
- Example
- -------
- >>> import pylab
- >>> import wafo
- >>> x = wafo.data.sea()
- >>> h = pylab.plot(x[:,0],x[:,1])
- """
- return _load('sea.dat')
-def sfa89():
- """
- Return Wind measurements at Statfjord A 24.12.1989
-
- Data summary
- ------------
- Size : 144 X 3
- Sampling Rate : 1/600 Hz
- Device :
- Source : DNMI (The Norwegian Meteorological Institute)
- Format : ascii, c1: time (hours)
- c2: velocity (m/s)
- c3: direction (degrees)
- Description
- -----------
- The registration of wind speeds at the Gullfaks field
- started up on Statfjord A in 1978 and continued until 1990.
- The dataregistration was transferred to Gullfaks C in Nov 1989.
- Due to some difficulties of the windregistration on Gullfaks C in
- the beginning, they continued to use the registered data from
- Statfjord A.
- The windspeed is measured in (meter/second), 110 m above mean water
- level (MWL) and the wind direction is given in degrees for the data.
- The data are a mean value of every 10 minutes.
- Wind directions are defined in the meteorological convention, i.e.,
- 0 degrees = wind approaching from North, 90 degrees = wind from East, etc.
- This dataset is for non-commercial use only.
-
- Example
- -------
- >>> import pylab
- >>> import wafo
- >>> x = wafo.data.sfa89()
- >>> h = pylab.plot(x[:,0],x[:,1])
-
- Acknowledgement
- ----------------
- These data are made available by Knut A. Iden, DNMI.
-
- See also
- --------
- northsea
- """
- return _load('sfa89.dat')
-def sn():
- """
- Return SN Fatigue experiment, constant-amplitude loading.
-
-
- Data summary
- ------------
- Size : 40 X 2
- Source : unknown
- Format : ascii, c1: Amplitude MPa c2: Number of cycles
-
- Description
- -----------
- A fatigue experiment with constant amplitudes at five levels:
- 10,15,20,25 and 30 MPa. For each level is related 8 observations of
- the number of cycles to failure.
-
- The origin of the data is unknown.
-
- Example
- -------
- >>> import pylab
- >>> import wafo
- >>> x = wafo.data.sn()
- >>> h = pylab.plot(x[:,0],x[:,1])
-
- See also
- --------
- The same data appear in the directory wdemos/itmkurs/
- as SN.mat.
-
- """
- return _load('sn.dat')
-def yura87():
- """
- Return Surface elevation measured off the coast of Yura.
-
-
- Data summary
- -----------
- Size : 85547 X 4
- Sampling Rate : 1 Hz
- Device : ultrasonic wave gauges
- Source : SRI, Ministry of Transport, Japan
- Format : ascii, c1: time (sec) c2-4: surface elevation (m)
-
- Description
- -----------
- The wave data was measured at the Poseidon platform
- in the Japan Sea from 24th November 1987 08.12 hours to 25th November
- 1987 07.57 hours. Poseidon was located 3 km off the coast of Yura
- in the Yamagata prefecture, in the Japan Sea during the measurements.
- The most important wave components are to some extent influenced by the
- water depth of 42 m. The data are measured with three ultrasonic wave
- gauges located at the sea floor and the relative coordinates of the
- gauges are as follows (x-axis points to the East, y-axis points to
- the North):
- X (m) Y (m)
- c2: -4.93, 25.02
- c3: 5.80, 92.12
- c4: 0.00, 0.00
-
- This dataset is for non-commercial use only.
-
- Hm0 = 5.1m, Tm02 = 7.7s, Tp = 12.8s
- Example
- -------
- >>> import pylab
- >>> import wafo
- >>> x = wafo.data.yura87()
- >>> h = pylab.plot(x[:,0],x[:,1])
-
- Acknowledgement:
- -----------------
- This dataset were prepared and made available by Dr. Sc. H. Tomita,
- Ship Research Institute, Ministry of Transport, Japan.
-
- See also
- --------
- japansea
- """
- return _load('yura87.dat')
-if __name__ == '__main__':
- import doctest
- doctest.testmod()
+"""
+Data package in WAFO Toolbox.
+
+Contents
+--------
+atlantic - Significant wave-height data recorded in the Atlantic Ocean
+gfaks89 - Surface elevation measured at Gullfaks C 24.12.1989
+gfaksr89 - Reconstructed surface elevation measured at Gullfaks C 24.12.1989.
+japansea - coastline map of The Japan Sea
+northsea - coastline map of The Nortsea
+sea - Surface elevation dataset used in WAT version 1.1.
+sfa89 - Wind measurements at Statfjord A 24.12.1989
+sn - Fatigue experiment, constant-amplitude loading.
+yura87 - Surface elevation measured off the coast of Yura
+
+
+
+This module gives gives detailed information and easy access to all datasets
+included in WAFO
+
+"""
+from numpy import (loadtxt, nan)
+import os
+__path2data = os.path.dirname(os.path.realpath(__file__))
+
+__all__ = ['atlantic', 'gfaks89', 'gfaksr89', 'japansea', 'northsea', 'sea',
+ 'sfa89', 'sn', 'yura87']
+
+_NANS = set(['nan', 'NaN', '-1.#IND00+00', '1.#IND00+00', '-1.#INF00+00'])
+
+
+def _tofloat(x):
+ return nan if x in _NANS else float(x or 0)
+
+
+_MYCONVERTER = {}
+for i in range(2):
+ _MYCONVERTER[i] = _tofloat
+
+
+def _load(file): # @ReservedAssignment
+ """ local load function
+ """
+ return loadtxt(os.path.join(__path2data, file))
+
+
+def _loadnan(file): # @ReservedAssignment
+ """ local load function accepting nan's
+ """
+ return loadtxt(os.path.join(__path2data, file), converters=_MYCONVERTER)
+
+
+def atlantic():
+ """
+ Return Significant wave-height data recorded in the Atlantic Ocean
+
+ Data summary
+ ------------
+ Size : 582 X 1
+ Sampling Rate : ~ 14 times a month
+ Device :
+ Source :
+ Format : ascii
+
+ Description
+ ------------
+ atlantic.dat contains average significant wave-height data recorded
+ approximately 14 times a month in December-February during 7 years and
+ at 2 locations in the Atlantic Ocean
+
+ Example
+ --------
+ >>> import pylab
+ >>> import wafo
+ >>> Hs = wafo.data.atlantic()
+ >>> h = pylab.plot(Hs)
+
+ Acknowledgement:
+ ---------------
+ This dataset were made available by Dr. David Carter
+ and Dr. David Cotton, Satellite Observing Systems, UK.
+ """
+ return _load('atlantic.dat')
+
+
+def gfaks89():
+ """
+ Return Surface elevation measured at Gullfaks C 24.12.1989
+
+ Data summary
+ ------------
+ Size : 39000 X 2
+ Sampling Rate : 2.5 Hz
+ Device : EMI laser
+ Source : STATOIL
+ Format : ascii, c1: time c2: surface elevation
+
+ Description
+ ------------
+ The wave data was measured 24th December 1989 at the Gullfaks C platform
+ in the North Sea from 17.00 to 21.20. The period from 20.00 to 20.20
+ is missing and contains NaNs. The water depth of 218 m is
+ regarded as deep water for the most important wave components.
+ There are two EMI laser sensors named 219 and 220. This data set is
+ obtained from sensor 219, which is located in the Northwest
+ corner approximately two platform leg diameters away from
+ the closest leg.
+ Thus the wave elevation is not expected to be significantly
+ affected by diffraction effects for incoming waves in the western sector.
+ The wind direction for this period is from the south.
+ Some difficulties in calibration of the instruments have been reported
+ resulting in several consecutive measured values being equal or almost
+ equal in the observed data set.
+
+ This dataset is for non-commercial use only.
+
+ Hm0 = 6.8m, Tm02 = 8s, Tp = 10.5
+
+ Example
+ -------
+ >>> import pylab
+ >>> import wafo
+ >>> x = wafo.data.gfaks89()
+ >>> h = pylab.plot(x[:,0],x[:,1])
+
+ Acknowledgement:
+ ---------------
+ This dataset were prepared and made available by Dr. S. Haver,
+ STATOIL, Norway
+
+ See also
+ --------
+ gfaksr89, northsea
+
+ """
+ return _loadnan('gfaks89.dat')
+
+
+def gfaksr89():
+ """
+ Return a reconstruction of surface elevation measured at Gullfaks C
+ 24.12.1989.
+
+
+ Data summary
+ ------------
+ Size : 39000 X 2
+ Sampling Rate : 2.5 Hz
+ Device : EMI laser
+ Source : STATOIL
+ Format : ascii, c1: time c2: surface elevation
+
+ Description
+ -----------
+ This is a reconstructed version of the data in the GFAKS89.DAT file.
+ The following calls were made to reconstruct the data:
+
+ inds = findoutliers(gfaks89,.02,2,1.23);
+ gfaksr89 = reconstruct(gfaks89,inds,6);
+
+ The wave data was measured 24th December 1989 at the Gullfaks C platform
+ in the North Sea from 17.00 to 21.20. The period from 20.00 to 20.20
+ is missing in the original data. The water depth of 218 m is
+ regarded as deep water for the most important wave components.
+ There are two EMI laser sensors named 219 and 220. This data set is
+ obtained from sensor 219, which is located in the Northwest
+ corner approximately two platform leg diameters away from
+ the closest leg.
+ Thus the wave elevation is not expected to be significantly
+ affected by diffraction effects for incoming waves in the western sector.
+ The wind direction for this period is from the south.
+ Some difficulties in calibration of the instruments have been reported
+ resulting in several consecutive measured values being equal or almost
+ equal in the observed data set.
+
+ Hm0 = 6.8m, Tm02 = 8s, Tp = 10.5
+
+
+ Example
+ -------
+ >>> import pylab
+ >>> import wafo
+ >>> x = wafo.data.gfaksr89()
+ >>> h = pylab.plot(x[:,0],x[:,1])
+
+
+ See also
+ --------
+ gfaks89
+ """
+ return _loadnan('gfaksr89.dat')
+
+
+def japansea():
+ """
+ Return coastline map of The Japan Sea
+
+
+ Data summary
+ ------------
+ Size : 692 X 2
+ Sampling Rate :
+ Device :
+ Source : http://crusty.er.usgs.gov/coast/getcoast.html
+ Format : ascii, c1: longitude c2: latitude
+
+ Description
+ -----------
+ JAPANSEA.DAT contains data for plotting a map of The Japan Sea.
+ The data is obtained from USGS coastline extractor.
+
+ Example:
+ -------
+ #the map is seen by
+
+ >>> import pylab
+ >>> import wafo
+ >>> map1 = wafo.data.japansea()
+ >>> h = pylab.plot(map1[:,0],map1[:,1])
+ >>> lon_loc = [131,132,132,135,139.5,139]
+ >>> lat_loc = [46, 43, 40, 35, 38.3, 35.7]
+ >>> loc = ['China','Vladivostok','Japan Sea', 'Japan', 'Yura','Tokyo']
+ >>> algn = 'right'
+ >>> for lon, lat, name in zip(lon_loc,lat_loc,loc):
+ pylab.text(lon,lat,name,horizontalalignment=algn)
+
+
+ # If you have the m_map toolbox (see http://www.ocgy.ubc.ca/~rich/):
+ m_proj('lambert','long',[130 148],'lat',[30 48]);
+ m_line(map(:,1),map(:,2));
+ m_grid('box','fancy','tickdir','out');
+ m_text(131,46,'China');
+ m_text(132,43,'Vladivostok');
+ m_text(132,40,'Japan Sea');
+ m_text(135,35,'Japan');
+ m_text(139.5,38.3,'Yura');
+ m_text(139,35.7,'Tokyo');
+ """
+ return _loadnan('japansea.dat')
+
+
+def northsea():
+ """
+ NORTHSEA coastline map of The Nortsea
+
+ Data summary
+ -------------
+ Size : 60646 X 2
+ Sampling Rate :
+ Device :
+ Source : http://crusty.er.usgs.gov/coast/getcoast.html
+ Format : ascii, c1: longitude c2: latitude
+
+ Description
+ -----------
+ NORTHSEA.DAT contains data for plotting a map of The Northsea.
+ The data is obtained from USGS coastline extractor.
+
+ Example
+ -------
+ # the map is seen by
+
+ >>> import pylab
+ >>> import wafo
+ >>> map1 = wafo.data.northsea()
+ >>> h = pylab.plot(map1[:,0],map1[:,1])
+ >>> lon_pltfrm = [1.8, 2.3, 2., 1.9, 2.6]
+ >>> lat_pltfrm = [61.2, 61.2, 59.9, 58.4, 57.7]
+ >>> pltfrm = ['Statfjord A', 'Gullfaks C', 'Frigg', 'Sleipner', 'Draupner']
+ >>> h = pylab.scatter(lon_pltfrm,lat_pltfrm);
+ >>> algn = 'right'
+ >>> for lon, lat, name in zip(lon_pltfrm,lat_pltfrm,pltfrm):
+ pylab.text(lon,lat,name,horizontalalignment=algn); algn = 'left'
+
+
+ >>> lon_city = [10.8, 10.8, 5.52, 5.2]
+ >>> lat_city = [59.85, 63.4, 58.9, 60.3]
+ >>> city = ['Oslo','Trondheim','Stavanger', 'Bergen']
+ >>> h = pylab.scatter(lon_city,lat_city);
+ >>> algn = 'right'
+ >>> for lon, lat, name in zip(lon_city,lat_city,city):
+ pylab.text(lon,lat,name,horizontalalignment=algn)
+
+ # If you have the mpl_toolkits.basemap installed
+ >>> from mpl_toolkits.basemap import Basemap
+ >>> import matplotlib.pyplot as plt
+
+ # setup Lambert Conformal basemap.
+ >>> m = Basemap(width=1200000,height=900000,projection='lcc',
+ resolution='f',lat_1=56.,lat_2=64,lat_0=58,lon_0=5.)
+ >>> m.drawcoastlines()
+ >>> h = m.scatter(lon_pltfrm,lat_pltfrm);
+ >>> algn = 'right'
+ >>> for lon, lat, name in zip(lon_pltfrm,lat_pltfrm,pltfrm):
+ m.text(lon,lat,name,horizontalalignment=algn); algn = 'left'
+ >>> m.scatter(lon_city,lat_city)
+ >>> algn = 'right'
+ >>> for lon, lat, name in zip(lon_city,lat_city,city):
+ m.text(lon,lat,name,horizontalalignment=algn)
+ """
+ return _loadnan('northsea.dat')
+
+
+def sea():
+ """
+ Return Surface elevation dataset used in WAT version 1.1.
+
+ Data summary
+ ------------
+ Size : 9524 X 2
+ Sampling Rate : 4.0 Hz
+ Device : unknown
+ Source : unknown
+ Format : ascii, c1: time c2: surface elevation
+
+ Description
+ -----------
+ The wave data was used in one of WAFO predecessors, i.e. the Wave
+ Analysis Toolbox version 1.1 (WAT)
+ Hm0 = 1.9m, Tm02 = 4.0s, Tp2 = 11.5s Tp1=5.6s
+
+ Example
+ -------
+ >>> import pylab
+ >>> import wafo
+ >>> x = wafo.data.sea()
+ >>> h = pylab.plot(x[:,0],x[:,1])
+ """
+ return _load('sea.dat')
+
+
+def sfa89():
+ """
+ Return Wind measurements at Statfjord A 24.12.1989
+
+ Data summary
+ ------------
+ Size : 144 X 3
+ Sampling Rate : 1/600 Hz
+ Device :
+ Source : DNMI (The Norwegian Meteorological Institute)
+ Format : ascii, c1: time (hours)
+ c2: velocity (m/s)
+ c3: direction (degrees)
+ Description
+ -----------
+ The registration of wind speeds at the Gullfaks field
+ started up on Statfjord A in 1978 and continued until 1990.
+ The dataregistration was transferred to Gullfaks C in Nov 1989.
+ Due to some difficulties of the windregistration on Gullfaks C in
+ the beginning, they continued to use the registered data from
+ Statfjord A.
+ The windspeed is measured in (meter/second), 110 m above mean water
+ level (MWL) and the wind direction is given in degrees for the data.
+ The data are a mean value of every 10 minutes.
+ Wind directions are defined in the meteorological convention, i.e.,
+ 0 degrees = wind approaching from North, 90 degrees = wind from East, etc.
+ This dataset is for non-commercial use only.
+
+ Example
+ -------
+ >>> import pylab
+ >>> import wafo
+ >>> x = wafo.data.sfa89()
+ >>> h = pylab.plot(x[:,0],x[:,1])
+
+ Acknowledgement
+ ----------------
+ These data are made available by Knut A. Iden, DNMI.
+
+ See also
+ --------
+ northsea
+ """
+ return _load('sfa89.dat')
+
+
+def sn():
+ """
+ Return SN Fatigue experiment, constant-amplitude loading.
+
+
+ Data summary
+ ------------
+ Size : 40 X 2
+ Source : unknown
+ Format : ascii, c1: Amplitude MPa c2: Number of cycles
+
+ Description
+ -----------
+ A fatigue experiment with constant amplitudes at five levels:
+ 10,15,20,25 and 30 MPa. For each level is related 8 observations of
+ the number of cycles to failure.
+
+ The origin of the data is unknown.
+
+ Example
+ -------
+ >>> import pylab
+ >>> import wafo
+ >>> x = wafo.data.sn()
+ >>> h = pylab.plot(x[:,0],x[:,1])
+
+ See also
+ --------
+ The same data appear in the directory wdemos/itmkurs/
+ as SN.mat.
+
+ """
+ return _load('sn.dat')
+
+
+def yura87():
+ """
+ Return Surface elevation measured off the coast of Yura.
+
+
+ Data summary
+ -----------
+ Size : 85547 X 4
+ Sampling Rate : 1 Hz
+ Device : ultrasonic wave gauges
+ Source : SRI, Ministry of Transport, Japan
+ Format : ascii, c1: time (sec) c2-4: surface elevation (m)
+
+ Description
+ -----------
+ The wave data was measured at the Poseidon platform
+ in the Japan Sea from 24th November 1987 08.12 hours to 25th November
+ 1987 07.57 hours. Poseidon was located 3 km off the coast of Yura
+ in the Yamagata prefecture, in the Japan Sea during the measurements.
+ The most important wave components are to some extent influenced by the
+ water depth of 42 m. The data are measured with three ultrasonic wave
+ gauges located at the sea floor and the relative coordinates of the
+ gauges are as follows (x-axis points to the East, y-axis points to
+ the North):
+ X (m) Y (m)
+ c2: -4.93, 25.02
+ c3: 5.80, 92.12
+ c4: 0.00, 0.00
+
+ This dataset is for non-commercial use only.
+
+ Hm0 = 5.1m, Tm02 = 7.7s, Tp = 12.8s
+ Example
+ -------
+ >>> import pylab
+ >>> import wafo
+ >>> x = wafo.data.yura87()
+ >>> h = pylab.plot(x[:,0],x[:,1])
+
+ Acknowledgement:
+ -----------------
+ This dataset were prepared and made available by Dr. Sc. H. Tomita,
+ Ship Research Institute, Ministry of Transport, Japan.
+
+ See also
+ --------
+ japansea
+ """
+ return _load('yura87.dat')
+if __name__ == '__main__':
+ import doctest
+ doctest.testmod()
diff --git a/pywafo/src/wafo/dctpack.py b/pywafo/src/wafo/dctpack.py
index 736c0cc..a6224ad 100644
--- a/pywafo/src/wafo/dctpack.py
+++ b/pywafo/src/wafo/dctpack.py
@@ -1,9 +1,24 @@
import numpy as np
+from scipy.fftpack import _fftpack
from scipy.fftpack import dct as _dct
from scipy.fftpack import idct as _idct
+import os
+path = os.path.dirname(os.path.realpath(__file__))
+
__all__ = ['dct', 'idct', 'dctn', 'idctn']
+def _truncate_or_zero_pad(x, n, axis):
+ nt = n - np.shape(x)[axis]
+ if nt < 0:
+ x = np.take(x, np.r_[0:n], axis=axis)
+ elif 0 < nt:
+ pads = [(0, 0)] * np.ndim(x)
+ pads[axis] = 0, nt
+ x = np.pad(x, pads, 'constant')
+ return x
+
+
def dct(x, type=2, n=None, axis=-1, norm='ortho'): # @ReservedAssignment
'''
Return the Discrete Cosine Transform of arbitrary type sequence x.
@@ -89,21 +104,54 @@ def dct(x, type=2, n=None, axis=-1, norm='ortho'): # @ReservedAssignment
to a factor `2N`. The orthonormalized DCT-III is exactly the inverse of
the orthonormalized DCT-II.
+ Examples
+ --------
+ >>> import numpy as np
+ >>> x = np.arange(5)
+ >>> np.abs(x-idct(dct(x)))<1e-14
+ array([ True, True, True, True, True], dtype=bool)
+ >>> np.abs(x-dct(idct(x)))<1e-14
+ array([ True, True, True, True, True], dtype=bool)
+
References
----------
http://en.wikipedia.org/wiki/Discrete_cosine_transform
+ http://users.ece.utexas.edu/~bevans/courses/ee381k/lectures/
'A Fast Cosine Transform in One and Two Dimensions', by J. Makhoul, `IEEE
Transactions on acoustics, speech and signal processing` vol. 28(1),
pp. 27-34, http://dx.doi.org/10.1109/TASSP.1980.1163351 (1980).
'''
- farr = np.asfarray
- if np.iscomplex(x).any():
- return _dct(farr(x.real), type, n, axis, norm) + \
- 1j * _dct(farr(x.imag), type, n, axis, norm)
+ if n is not None:
+ # Hack until scipy.fftpack.dct implement this functionality
+ x = _truncate_or_zero_pad(x, n, axis)
+ n = None
+ return _dct(x, type, n, axis, norm)
+ dtype = np.result_type(np.float32, np.asarray(x))
+ x0 = np.asarray(x, dtype=dtype)
+ if dtype == complex:
+ return (_dct(x0.real, type, n, axis, norm) + 1j *
+ _dct(x0.imag, type, n, axis, norm))
else:
- return _dct(farr(x), type, n, axis, norm)
+ return _dct(x0, type, n, axis, norm)
+
+
+def test(type=2, dtype=None, normalize='ortho'): # @ReservedAssignment
+ dtype = np.result_type(np.float64)
+ try:
+ nm = {None: 0, 'ortho': 1}[normalize]
+ except KeyError:
+ raise ValueError("Unknown normalize mode %s" % normalize)
+ try:
+ name = {'float64': 'ddct%d', 'float32': 'dct%d'}[dtype.name]
+ except KeyError:
+ raise ValueError("dtype %s not supported" % dtype)
+ try:
+ f = getattr(_fftpack, name % type)
+ except AttributeError as e:
+ raise ValueError(str(e) + ". Type %d not understood" % type)
+ return f, nm
def idct(x, type=2, n=None, axis=-1, norm='ortho'): # @ReservedAssignment
@@ -144,25 +192,93 @@ def idct(x, type=2, n=None, axis=-1, norm='ortho'): # @ReservedAssignment
see `dct`.
'''
farr = np.asarray
+ if n is not None:
+ # Hack until scipy.fftpack.idct implement this functionality
+ x = _truncate_or_zero_pad(x, n, axis)
+ n = None
if np.iscomplex(x).any():
- return _idct(farr(x.real), type, n, axis, norm) + \
- 1j * _idct(farr(x.imag), type, n, axis, norm)
+ x0 = farr(x, dtype=complex)
+ return (_idct(x0.real, type, n, axis, norm) + 1j *
+ _idct(x0.imag, type, n, axis, norm))
else:
- return _idct(farr(x), type, n, axis, norm)
+ return _idct(farr(x, dtype=float), type, n, axis, norm)
+
+
+def _get_shape(y, shape, axes):
+ if shape is None:
+ if axes is None:
+ shape = y.shape
+ else:
+ shape = np.take(y.shape, axes)
+ shape = tuple(shape)
+ return shape
+
+
+def _get_axes(y, shape, axes):
+ if axes is None:
+ axes = range(y.ndim)
+ if len(axes) != len(shape):
+ raise ValueError("when given, axes and shape arguments "
+ "have to be of the same length")
+ return list(axes)
+
+
+def _raw_dctn(y, type, shape, axes, norm, fun): # @ReservedAssignment
+ shape = _get_shape(y, shape, axes)
+ axes = _get_axes(y, shape, axes)
+ shape0 = list(y.shape)
+ ndim = y.ndim
+ isvector = max(shape0) == y.size
+ if isvector and ndim == 1:
+ y = np.atleast_2d(y)
+ y = y.T
+ for dim in range(ndim):
+ y = shiftdim(y, 1)
+ if dim not in axes:
+ continue
+ n = shape[axes.index(dim)]
+ shape0[dim] = n
+ y = fun(y, type, n, norm=norm)
+
+ return y.reshape(shape0)
-def dctn(x, type=2, axis=None, norm='ortho'): # @ReservedAssignment
+def dctn(x, type=2, shape=None, axes=None, # @ReservedAssignment
+ norm='ortho'):
'''
- DCTN N-D discrete cosine transform.
+ Return the N-D Discrete Cosine Transform of array x.
+ Parameters
+ ----------
+ x : array_like
+ The input array.
+ type : {1, 2, 3}, optional
+ Type of the DCT (see Notes). Default type is 2.
+ shape : tuple of ints, optional
+ The shape of the result. If both `shape` and `axes` (see below) are
+ None, `shape` is ``x.shape``; if `shape` is None but `axes` is
+ not None, then `shape` is ``scipy.take(x.shape, axes, axis=0)``.
+ If ``shape[i] > x.shape[i]``, the i-th dimension is padded with zeros.
+ If ``shape[i] < x.shape[i]``, the i-th dimension is truncated to
+ length ``shape[i]``.
+ axes : array_like of ints, optional
+ The axes of `x` (`y` if `shape` is not None) along which the
+ transform is applied.
+ norm : {None, 'ortho'}, optional
+ Normalization mode (see Notes in dct). Default is 'ortho'.
+
+ Returns
+ -------
+ y : ndarray of real
+ The transformed input array.
+
+
+ Notes
+ -----
Y = DCTN(X) returns the discrete cosine transform of X. The array Y is
the same size as X and contains the discrete cosine transform
coefficients. This transform can be inverted using IDCTN.
- DCTN(X,axis) applies the DCTN operation across the dimension axis.
-
- Class Support
- -------------
Input array can be numeric or logical. The returned array is of class
double.
@@ -173,410 +289,62 @@ def dctn(x, type=2, axis=None, norm='ortho'): # @ReservedAssignment
Example
-------
- RGB = imread('autumn.tif');
- I = rgb2gray(RGB);
- J = dctn(I);
- imshow(log(abs(J)),[]), colormap(jet), colorbar
+ >>> import os
+ >>> import numpy as np
+ >>> import scipy.ndimage as sn
+ >>> import matplotlib.pyplot as plt
+ >>> name = os.path.join(path, 'autumn.gif')
+ >>> rgb = sn.imread(name)
+ >>> J = dctn(rgb)
+ >>> (np.abs(rgb-idctn(J))<1e-7).all()
+ True
+
+ plt.imshow(np.log(np.abs(J)))
+ plt.colorbar() #colormap(jet), colorbar
The commands below set values less than magnitude 10 in the DCT matrix
to zero, then reconstruct the image using the inverse DCT.
- J(abs(J)<10) = 0;
- K = idctn(J);
- figure, imshow(I)
- figure, imshow(K,[0 255])
+ J[np.abs(J)<10] = 0
+ K = idctn(J)
+ plt.figure(0)
+ plt.imshow(rgb)
+ plt.figure(1)
+ plt.imshow(K,[0 255])
See also
--------
idctn, dct, idct
'''
-
y = np.atleast_1d(x)
- shape0 = y.shape
- if axis is None:
- y = y.squeeze() # Working across singleton dimensions is useless
- ndim = y.ndim
- isvector = max(shape0) == y.size
- if isvector:
- if ndim == 1:
- y = np.atleast_2d(y)
- y = y.T
- elif y.shape[0] == 1:
- if axis == 0:
- return x
- elif axis == 1:
- axis = 0
- y = y.T
- elif axis == 1:
- return y
-
- if np.iscomplex(y).any():
- y = dctn(y.real, type, axis, norm) + 1j * \
- dctn(y.imag, type, axis, norm)
- else:
- y = np.asfarray(y)
- for dim in range(ndim):
- y = y.transpose(np.roll(range(y.ndim), -1))
- #y = shiftdim(y,1)
- if axis is not None and dim != axis:
- continue
- y = _dct(y, type, norm=norm)
- return y.reshape(shape0)
+ return _raw_dctn(y, type, shape, axes, norm, dct)
-def idctn(x, type=2, axis=None, norm='ortho'): # @ReservedAssignment
- y = np.atleast_1d(x)
- shape0 = y.shape
- if axis is None:
- y = y.squeeze() # Working across singleton dimensions is useless
- ndim = y.ndim
- isvector = max(shape0) == y.size
- if isvector:
- if ndim == 1:
- y = np.atleast_2d(y)
- y = y.T
- elif y.shape[0] == 1:
- if axis == 0:
- return x
- elif axis == 1:
- axis = 0
- y = y.T
- elif axis == 1:
- return y
-
- if np.iscomplex(y).any():
- y = idctn(y.real, type, axis, norm) + 1j * \
- idctn(y.imag, type, axis, norm)
- else:
- y = np.asfarray(y)
- for dim in range(ndim):
- y = y.transpose(np.roll(range(y.ndim), -1))
- #y = shiftdim(y,1)
- if axis is not None and dim != axis:
- continue
- y = _idct(y, type, norm=norm)
- return y.reshape(shape0)
+def idctn(x, type=2, shape=None, axes=None, # @ReservedAssignment
+ norm='ortho'):
+ '''Return inverse N-D Discrete Cosine Transform of array x.
-# def dct(x, n=None):
-# """
-# Discrete Cosine Transform
-#
-# N-1
-# y[k] = 2* sum x[n]*cos(pi*k*(2n+1)/(2*N)), 0 <= k < N.
-# n=0
-#
-# Examples
-# --------
-# >>> import numpy as np
-# >>> x = np.arange(5)
-# >>> np.abs(x-idct(dct(x)))<1e-14
-# array([ True, True, True, True, True], dtype=bool)
-# >>> np.abs(x-dct(idct(x)))<1e-14
-# array([ True, True, True, True, True], dtype=bool)
-#
-# Reference
-# ---------
-# http://en.wikipedia.org/wiki/Discrete_cosine_transform
-# http://users.ece.utexas.edu/~bevans/courses/ee381k/lectures/
-# """
-# fft = np.fft.fft
-# x = np.atleast_1d(x)
-#
-# if n is None:
-# n = x.shape[-1]
-#
-# if x.shape[-1] < n:
-# n_shape = x.shape[:-1] + (n - x.shape[-1],)
-# xx = np.hstack((x, np.zeros(n_shape)))
-# else:
-# xx = x[..., :n]
-#
-# real_x = np.all(np.isreal(xx))
-# if (real_x and (np.remainder(n, 2) == 0)):
-# xp = 2 * fft(np.hstack((xx[..., ::2], xx[..., ::-2])))
-# else:
-# xp = fft(np.hstack((xx, xx[..., ::-1])))
-# xp = xp[..., :n]
-#
-# w = np.exp(-1j * np.arange(n) * np.pi / (2 * n))
-#
-# y = xp * w
-#
-# if real_x:
-# return y.real
-# else:
-# return y
-#
-# def idct(x, n=None):
-# """
-# Inverse Discrete Cosine Transform
-#
-# N-1
-# x[k] = 1/N sum w[n]*y[n]*cos(pi*k*(2n+1)/(2*N)), 0 <= k < N.
-# n=0
-#
-# w(0) = 1/2
-# w(n) = 1 for n>0
-#
-# Examples
-# --------
-# >>> import numpy as np
-# >>> x = np.arange(5)
-# >>> np.abs(x-idct(dct(x)))<1e-14
-# array([ True, True, True, True, True], dtype=bool)
-# >>> np.abs(x-dct(idct(x)))<1e-14
-# array([ True, True, True, True, True], dtype=bool)
-#
-# Reference
-# ---------
-# http://en.wikipedia.org/wiki/Discrete_cosine_transform
-# http://users.ece.utexas.edu/~bevans/courses/ee381k/lectures/
-# """
-#
-# ifft = np.fft.ifft
-# x = np.atleast_1d(x)
-#
-# if n is None:
-# n = x.shape[-1]
-#
-# w = np.exp(1j * np.arange(n) * np.pi / (2 * n))
-#
-# if x.shape[-1] < n:
-# n_shape = x.shape[:-1] + (n - x.shape[-1],)
-# xx = np.hstack((x, np.zeros(n_shape))) * w
-# else:
-# xx = x[..., :n] * w
-#
-# real_x = np.all(np.isreal(x))
-# if (real_x and (np.remainder(n, 2) == 0)):
-# xx[..., 0] = xx[..., 0] * 0.5
-# yp = ifft(xx)
-# y = np.zeros(xx.shape, dtype=complex)
-# y[..., ::2] = yp[..., :n / 2]
-# y[..., ::-2] = yp[..., n / 2::]
-# else:
-# yp = ifft(np.hstack((xx, np.zeros_like(xx[..., 0]),
-# np.conj(xx[..., :0:-1]))))
-# y = yp[..., :n]
-#
-# if real_x:
-# return y.real
-# else:
-# return y
-#
-# def dctn(y, axis=None, w=None):
-# '''
-# DCTN N-D discrete cosine transform.
-#
-# Y = DCTN(X) returns the discrete cosine transform of X. The array Y is
-# the same size as X and contains the discrete cosine transform
-# coefficients. This transform can be inverted using IDCTN.
-#
-# DCTN(X,axis) applies the DCTN operation across the dimension axis.
-#
-# Class Support
-# -------------
-# Input array can be numeric or logical. The returned array is of class
-# double.
-#
-# Reference
-# ---------
-# Narasimha M. et al, On the computation of the discrete cosine
-# transform, IEEE Trans Comm, 26, 6, 1978, pp 934-936.
-#
-# Example
-# -------
-# RGB = imread('autumn.tif');
-# I = rgb2gray(RGB);
-# J = dctn(I);
-# imshow(log(abs(J)),[]), colormap(jet), colorbar
-#
-# The commands below set values less than magnitude 10 in the DCT matrix
-# to zero, then reconstruct the image using the inverse DCT.
-#
-# J(abs(J)<10) = 0;
-# K = idctn(J);
-# figure, imshow(I)
-# figure, imshow(K,[0 255])
-#
-# See also
-# --------
-# idctn, dct, idct
-# '''
-#
-# y = np.atleast_1d(y)
-# shape0 = y.shape
-#
-#
-# if axis is None:
-# y = y.squeeze() # Working across singleton dimensions is useless
-# dimy = y.ndim
-# if dimy==1:
-# y = np.atleast_2d(y)
-# y = y.T
-# Some modifications are required if Y is a vector
-# if isvector(y):
-# if y.shape[0]==1:
-# if axis==0:
-# return y, None
-# elif axis==1:
-# axis=0
-## y = y.T
-# elif axis==1:
-# return y, None
-#
-# if w is None:
-# w = [0,] * dimy
-# for dim in range(dimy):
-# if axis is not None and dim!=axis:
-# continue
-# n = (dimy==1)*y.size + (dimy>1)*shape0[dim]
-# w{dim} = exp(1i*(0:n-1)'*pi/2/n);
-# w[dim] = np.exp(1j * np.arange(n) * np.pi / (2 * n))
-#
-# --- DCT algorithm ---
-# if np.iscomplex(y).any():
-# y = dctn(np.real(y),axis,w) + 1j*dctn(np.imag(y),axis,w)
-# else:
-# for dim in range(dimy):
-# y = shiftdim(y,1)
-# if axis is not None and dim!=axis:
-# y = shiftdim(y, 1)
-# continue
-# siz = y.shape
-# n = siz[-1]
-# y = y[...,np.r_[0:n:2, 2*int(n//2)-1:0:-2]]
-# y = y.reshape((-1,n))
-# y = y*np.sqrt(2*n);
-# y = (np.fft.ifft(y, n=n, axis=1) * w[dim]).real
-# y[:,0] = y[:,0]/np.sqrt(2)
-# y = y.reshape(siz)
-#
-# end
-# end
-#
-# return y.reshape(shape0), w
-#
-# def idctn(y, axis=None, w=None):
-# '''
-# IDCTN N-D inverse discrete cosine transform.
-# X = IDCTN(Y) inverts the N-D DCT transform, returning the original
-# array if Y was obtained using Y = DCTN(X).
-#
-# IDCTN(X,DIM) applies the IDCTN operation across the dimension DIM.
-#
-# Class Support
-# -------------
-# Input array can be numeric or logical. The returned array is of class
-# double.
-#
-# Reference
-# ---------
-# Narasimha M. et al, On the computation of the discrete cosine
-# transform, IEEE Trans Comm, 26, 6, 1978, pp 934-936.
-#
-# Example
-# -------
-# RGB = imread('autumn.tif');
-# I = rgb2gray(RGB);
-# J = dctn(I);
-# imshow(log(abs(J)),[]), colormap(jet), colorbar
-#
-# The commands below set values less than magnitude 10 in the DCT matrix
-# to zero, then reconstruct the image using the inverse DCT.
-#
-# J(abs(J)<10) = 0;
-# K = idctn(J);
-# figure, imshow(I)
-# figure, imshow(K,[0 255])
-#
-# See also
-# --------
-# dctn, idct, dct
-#
-# -- Damien Garcia -- 2009/04, revised 2009/11
-# website: www.BiomeCardio.com
-#
-# ----------
-# [Y,W] = IDCTN(X,DIM,W) uses and returns the weights which are used by
-# the program. If IDCTN is required for several large arrays of same
-# size, the weights can be reused to make the algorithm faster. A typical
-# syntax is the following:
-# w = [];
-# for k = 1:10
-# [y{k},w] = idctn(x{k},[],w);
-# end
-# The weights (w) are calculated during the first call of IDCTN then
-# reused in the next calls.
-# '''
-#
-# y = np.atleast_1d(y)
-# shape0 = y.shape
-#
-# if axis is None:
-# y = y.squeeze() # Working across singleton dimensions is useless
-#
-# dimy = y.ndim
-# if dimy==1:
-# y = np.atleast_2d(y)
-# y = y.T
-# Some modifications are required if Y is a vector
-# if isvector(y):
-# if y.shape[0]==1:
-# if axis==0:
-# return y, None
-# elif axis==1:
-# axis=0
-## y = y.T
-# elif axis==1:
-# return y, None
-##
-#
-#
-# if w is None:
-# w = [0,] * dimy
-# for dim in range(dimy):
-# if axis is not None and dim!=axis:
-# continue
-# n = (dimy==1)*y.size + (dimy>1)*shape0[dim]
-# w{dim} = exp(1i*(0:n-1)'*pi/2/n);
-# w[dim] = np.exp(1j * np.arange(n) * np.pi / (2 * n))
-# --- IDCT algorithm ---
-# if np.iscomplex(y).any():
-# y = np.complex(idctn(np.real(y),axis,w),idctn(np.imag(y),axis,w))
-# else:
-# for dim in range(dimy):
-# y = shiftdim(y,1)
-# if axis is not None and dim!=axis:
-# y = shiftdim(y, 1)
-# continue
-# siz = y.shape
-# n = siz[-1]
-#
-# y = y.reshape((-1,n)) * w[dim]
-# y[:,0] = y[:,0]/np.sqrt(2)
-# y = (np.fft.ifft(y, n=n, axis=1)).real
-# y = y * np.sqrt(2*n)
-#
-# I = np.empty(n,dtype=int)
-# I.put(np.r_[0:n:2],np.r_[0:int(n//2)+np.remainder(n,2)])
-# I.put(np.r_[1:n:2],np.r_[n-1:int(n//2)-1:-1])
-# y = y[:,I]
-#
-# y = y.reshape(siz)
-#
-#
-# y = y.reshape(shape0);
-# return y, w
+ For description of parameters see `dctn`.
+ See Also
+ --------
+ dctn : for detailed information.
+ '''
+ y = np.atleast_1d(x)
+ return _raw_dctn(y, type, shape, axes, norm, idct)
-def no_leading_ones(x):
+
+def num_leading_ones(x):
first = 0
for i, xi in enumerate(x):
if xi != 1:
first = i
break
+ return first
+
+
+def no_leading_ones(x):
+ first = num_leading_ones(x)
return x[first:]
@@ -615,11 +383,53 @@ def shiftdim(x, n=None):
return x.reshape((1,) * -n + x.shape)
+def test_shiftdim():
+ a = np.arange(6).reshape((1, 1, 3, 1, 2))
+
+ print a.shape
+ print a.ndim
+
+ print range(a.ndim)
+ # move items 2 places to the left so that x0 <- x2, x1 <- x3, etc
+ print np.roll(range(a.ndim), -2)
+ print a.transpose(np.roll(range(a.ndim), -2)) # transposition of the axes
+ # with a matrix 2x2, A.transpose((1,0)) would be the transpose of A
+ b = shiftdim(a)
+ print b.shape
+
+ c = shiftdim(b, -2)
+ print c.shape
+
+ print(c == a)
+
+
+def test_dct3():
+ a = np.array([[[0.51699637, 0.42946223, 0.89843545],
+ [0.27853391, 0.8931508, 0.34319118],
+ [0.51984431, 0.09217771, 0.78764716]],
+ [[0.25019845, 0.92622331, 0.06111409],
+ [0.81363641, 0.06093368, 0.13123373],
+ [0.47268657, 0.39635091, 0.77978269]],
+ [[0.86098829, 0.07901332, 0.82169182],
+ [0.12560088, 0.78210188, 0.69805434],
+ [0.33544628, 0.81540172, 0.9393219]]])
+
+ d = dct(dct(dct(a).transpose(0, 2, 1)).transpose(2, 1, 0)
+ ).transpose(2, 1, 0).transpose(0, 2, 1)
+ d0 = dctn(a)
+ e = idct(idct(idct(d).transpose(0, 2, 1)).transpose(2, 1, 0)
+ ).transpose(2, 1, 0).transpose(0, 2, 1)
+ print(d)
+ print(d0)
+ print(np.allclose(d, d0))
+ print(np.allclose(a, e))
+
+
def test_dctn():
- a = np.arange(12) # .reshape((3,-1))
+ a = np.arange(12).reshape((3, -1))
print('a = ', a)
print(' ')
- y = dct(a)
+ y = dct(a, n=10)
x = idct(y)
print('y = dct(a)')
print(y)
@@ -627,28 +437,42 @@ def test_dctn():
print(x)
print(' ')
-# y1 = dct1(a)
-# x1 = idct1(y)
-# print('y1 = dct1(a)')
-# print(y1)
-# print('x1 = idct1(y)')
-# print(x1)
-# print(' ')
-
- yn = dctn(a)
- xn = idctn(yn)
+ yn = dctn(a) #, shape=(10,), axes=(1,))
+ xn = idctn(yn) #, axes=(1,))
print('yn = dctn(a)')
print(yn)
print('xn = idctn(yn)')
print(xn)
print(' ')
-
-# yn1 = dctn1(a)
-# xn1 = idctn1(yn1)
-# print('yn1 = dctn1(a)')
-# print(yn1)
-# print('xn1 = idctn1(yn)')
-# print(xn1)
+ print xn-a
+
+def test_dct2():
+ import scipy.ndimage as sn
+ import matplotlib.pyplot as plt
+ name = os.path.join(path, 'autumn.gif')
+ rgb = np.asarray(sn.imread(name), dtype=np.float16)
+ # np.fft.fft(rgb)
+ print(np.max(rgb), np.min(rgb))
+ plt.set_cmap('jet')
+ J = dctn(rgb)
+ irgb = idctn(J)
+ print(np.abs(rgb-irgb).max())
+ plt.imshow(np.log(np.abs(J)))
+ # plt.colorbar() #colormap(jet), colorbar
+ plt.show('hold')
+ v = np.percentile(np.abs(J.ravel()), 10.0)
+ print(len(np.flatnonzero(J)), v)
+ J[np.abs(J) < v] = 0
+ print(len(np.flatnonzero(J)))
+ plt.imshow(np.log(np.abs(J)))
+ plt.show('hold')
+ K = idctn(J)
+ print(np.abs(rgb-K).max())
+ plt.figure(1)
+ plt.imshow(rgb)
+ plt.figure(2)
+ plt.imshow(K, vmin=0, vmax=255)
+ plt.show('hold')
def test_docstrings():
@@ -658,5 +482,9 @@ def test_docstrings():
if __name__ == '__main__':
- test_docstrings()
+ test_dct2()
+ # test_docstrings()
# test_dctn()
+ # test_shiftdim()
+ # test_dct3()
+ # test()
diff --git a/pywafo/src/wafo/fig.py b/pywafo/src/wafo/fig.py
index 6607dd0..d6ef8a8 100644
--- a/pywafo/src/wafo/fig.py
+++ b/pywafo/src/wafo/fig.py
@@ -33,9 +33,9 @@ Example
>>> fig.close('all')
'''
-#/usr/bin/env python
+#!/usr/bin/env python
from __future__ import division
-#import win32api
+# import win32api
import win32gui
import win32con
import msvcrt
diff --git a/pywafo/src/wafo/kdetools.py b/pywafo/src/wafo/kdetools.py
index 248a79a..eb29cc9 100644
--- a/pywafo/src/wafo/kdetools.py
+++ b/pywafo/src/wafo/kdetools.py
@@ -1,4 +1,4 @@
-#-------------------------------------------------------------------------
+# -------------------------------------------------------------------------
# Name: kdetools
# Purpose:
#
@@ -7,8 +7,8 @@
# Created: 01.11.2008
# Copyright: (c) pab 2008
# Licence: LGPL
-#-------------------------------------------------------------------------
-#!/usr/bin/env python
+# -------------------------------------------------------------------------
+#!/usr/bin/env python # @IgnorePep8
from __future__ import division
import copy
import numpy as np
@@ -17,7 +17,6 @@ import warnings
from itertools import product
from scipy import interpolate, linalg, optimize, sparse, special, stats
from scipy.special import gamma
-from scipy.ndimage.morphology import distance_transform_edt
from numpy import pi, sqrt, atleast_2d, exp, newaxis # @UnresolvedImport
from wafo.misc import meshgrid, nextpow2, tranproc # , trangood
@@ -29,8 +28,6 @@ try:
except ImportError:
print 'fig import only supported on Windows'
-_TINY = np.finfo(float).machar.tiny
-
def _invnorm(q):
return special.ndtri(q)
@@ -128,8 +125,7 @@ class KDEgauss(object):
self._compute_smoothing()
def _compute_smoothing(self):
- """Computes the smoothing matrix
- """
+ """Computes the smoothing matrix."""
get_smoothing = self.kernel.get_smoothing
h = self.hs
if h is None:
@@ -163,8 +159,8 @@ class KDEgauss(object):
amax = self.dataset.max(axis=-1)
iqr = iqrange(self.dataset, axis=-1)
sigma = np.minimum(np.std(self.dataset, axis=-1, ddof=1), iqr / 1.34)
- #xyzrange = amax - amin
- #offset = xyzrange / 4.0
+ # xyzrange = amax - amin
+ # offset = xyzrange / 4.0
offset = 2 * sigma
if self.xmin is None:
self.xmin = amin - offset
@@ -203,7 +199,7 @@ class KDEgauss(object):
def _eval_grid_fast(self, *args, **kwds):
X = np.vstack(args)
d, inc = X.shape
- #dx = X[:, 1] - X[:, 0]
+ # dx = X[:, 1] - X[:, 0]
R = X.max(axis=-1) - X.min(axis=-1)
t_star = (self.hs / R) ** 2
@@ -281,6 +277,7 @@ class KDEgauss(object):
------
ValueError if the dimensionality of the input points is different than
the dimensionality of the KDE.
+
"""
points = self._check_shape(points)
@@ -356,8 +353,8 @@ class _KDE(object):
iqr = iqrange(self.dataset, axis=-1)
self._sigma = np.minimum(
np.std(self.dataset, axis=-1, ddof=1), iqr / 1.34)
- #xyzrange = amax - amin
- #offset = xyzrange / 4.0
+ # xyzrange = amax - amin
+ # offset = xyzrange / 4.0
offset = self._sigma
if self.xmin is None:
self.xmin = amin - offset
@@ -368,6 +365,20 @@ class _KDE(object):
else:
self.xmax = self.xmax * np.ones((self.d, 1))
+ def get_args(self, xmin=None, xmax=None):
+ if xmin is None:
+ xmin = self.xmin
+ else:
+ xmin = [min(i, j) for i, j in zip(xmin, self.xmin)]
+ if xmax is None:
+ xmax = self.xmax
+ else:
+ xmax = [max(i, j) for i, j in zip(xmax, self.xmax)]
+ args = []
+ for i in range(self.d):
+ args.append(np.linspace(xmin[i], xmax[i], self.inc))
+ return args
+
def eval_grid_fast(self, *args, **kwds):
"""Evaluate the estimated pdf on a grid.
@@ -387,9 +398,7 @@ class _KDE(object):
"""
if len(args) == 0:
- args = []
- for i in range(self.d):
- args.append(np.linspace(self.xmin[i], self.xmax[i], self.inc))
+ args = self.get_args()
self.args = args
return self._eval_grid_fun(self._eval_grid_fast, *args, **kwds)
@@ -479,6 +488,7 @@ class _KDE(object):
------
ValueError if the dimensionality of the input points is different than
the dimensionality of the KDE.
+
"""
points = self._check_shape(points)
@@ -568,8 +578,8 @@ class TKDE(_KDE):
0.20717946, 0.15907684, 0.1201074 , 0.08941027, 0.06574882])
>>> kde.eval_grid_fast(x)
- array([ 1.06437223, 0.46203314, 0.39593137, 0.32781899, 0.26276433,
- 0.20532206, 0.15723498, 0.11843998, 0.08797755, 0. ])
+ array([ 1.04018924, 0.45838973, 0.39514689, 0.32860532, 0.26433301,
+ 0.20717976, 0.15907697, 0.1201077 , 0.08941129, 0.06574899])
import pylab as plb
h1 = plb.plot(x, f) # 1D probability density plot
@@ -650,7 +660,7 @@ class TKDE(_KDE):
arg_0,arg_1,... arg_d-1 : vectors
Alternatively, if no vectors is passed in then
arg_i = gauss2dat(linspace(dat2gauss(self.xmin[i]),
- dat2gauss(self.xmax[i]), self.inc))
+ dat2gauss(self.xmax[i]), self.inc))
output : string optional
'value' if value output
'data' if object output
@@ -659,6 +669,7 @@ class TKDE(_KDE):
-------
values : array-like
The values evaluated at meshgrid(*args).
+
"""
return self._eval_grid_fun(self._eval_grid_fast, *args, **kwds)
@@ -667,24 +678,29 @@ class TKDE(_KDE):
f = self.tkde.eval_grid_fast(*args, **kwds)
self.args = self.tkde.args
return f
- #targs = self._dat2gaus(list(args)) if len(args) else args
- tf = self.tkde.eval_grid_fast()
+ targs = []
+ if len(args):
+ targs0 = self._dat2gaus(list(args))
+ xmin = [min(t) for t in targs0]
+ xmax = [max(t) for t in targs0]
+ targs = self.tkde.get_args(xmin, xmax)
+ tf = self.tkde.eval_grid_fast(*targs)
self.args = self._gaus2dat(list(self.tkde.args))
points = meshgrid(*self.args) if self.d > 1 else self.args
f = self._scale_pdf(tf, points)
if len(args):
ipoints = meshgrid(*args) if self.d > 1 else args
- #shape0 = points[0].shape
- #shape0i = ipoints[0].shape
+ # shape0 = points[0].shape
+ # shape0i = ipoints[0].shape
for i in range(self.d):
points[i].shape = (-1,)
- #ipoints[i].shape = (-1,)
+ # ipoints[i].shape = (-1,)
points = np.asarray(points).T
- #ipoints = np.asarray(ipoints).T
- fi = interpolate.griddata( # @UndefinedVariable
- points, f.ravel(), tuple(ipoints), method='linear',
- fill_value=0.0)
- #fi.shape = shape0i
+ # ipoints = np.asarray(ipoints).T
+ fi = interpolate.griddata(points, f.ravel(), tuple(ipoints),
+ method='linear',
+ fill_value=0.0)
+ # fi.shape = shape0i
self.args = args
r = kwds.get('r', 0)
if r == 0:
@@ -720,6 +736,7 @@ class TKDE(_KDE):
------
ValueError if the dimensionality of the input points is different than
the dimensionality of the KDE.
+
"""
if self.L2 is None:
return self.tkde.eval_points(points)
@@ -755,9 +772,8 @@ class KDE(_KDE):
(default min(data)-range(data)/4, max(data)-range(data)/4)
If a single value of xmin or xmax is given then the boundary is the is
the same for all dimensions.
- inc : scalar integer
+ inc : scalar integer (default 512)
defining the default dimension of the output from kde.eval_grid methods
- (default 512)
(For kde.eval_grid_fast: A value below 50 is very fast to compute but
may give some inaccuracies. Values between 100 and 500 give very
accurate results)
@@ -816,13 +832,15 @@ class KDE(_KDE):
0.26381501, 0.16407362, 0.08270612, 0.02991145, 0.00720821])
>>> f = kde0.eval_grid_fast()
- >>> np.interp(x, kde0.args[0], f)
- array([ 0.21227584, 0.41256459, 0.5495661 , 0.5176579 , 0.38431616,
- 0.2591162 , 0.15978948, 0.07889179, 0.02769818, 0.00791829])
+ >>> np.allclose(np.interp(x, kde0.args[0], f),
+ ... [ 0.20397743, 0.40252228, 0.54594119, 0.52219025, 0.39062189,
+ ... 0.2638171 , 0.16407487, 0.08270755, 0.04784434, 0.04784434])
+ True
>>> f1 = kde0.eval_grid_fast(output='plot')
- >>> np.interp(x, f1.args, f1.data)
- array([ 0.21227584, 0.41256459, 0.5495661 , 0.5176579 , 0.38431616,
- 0.2591162 , 0.15978948, 0.07889179, 0.02769818, 0.00791829])
+ >>> np.allclose(np.interp(x, f1.args, f1.data),
+ ... [ 0.20397743, 0.40252228, 0.54594119, 0.52219025, 0.39062189,
+ ... 0.2638171 , 0.16407487, 0.08270755, 0.04784434, 0.04784434])
+ True
>>> h = f1.plot()
import pylab as plb
@@ -838,8 +856,8 @@ class KDE(_KDE):
self._compute_smoothing()
self._lambda = np.ones(self.n)
if self.alpha > 0:
- #pilot = KDE(self.dataset, hs=self.hs, kernel=self.kernel, alpha=0)
- # f = pilot.eval_points(self.dataset) # get a pilot estimate by
+ # pilt = KDE(self.dataset, hs=self.hs, kernel=self.kernel, alpha=0)
+ # f = pilt.eval_points(self.dataset) # get a pilot estimate by
# regular KDE (alpha=0)
f = self.eval_points(self.dataset) # pilot estimate
g = np.exp(np.mean(np.log(f)))
@@ -854,8 +872,7 @@ class KDE(_KDE):
pass
def _compute_smoothing(self):
- """Computes the smoothing matrix
- """
+ """Computes the smoothing matrix."""
get_smoothing = self.kernel.get_smoothing
h = self.hs
if h is None:
@@ -915,8 +932,8 @@ class KDE(_KDE):
if np.abs(norm_fact0 - norm_fact) > 0.05 * norm_fact:
warnings.warn(
'Numerical inaccuracy due to too low discretization. ' +
- 'Increase the discretization of the evaluation grid (inc=%d)!'
- % inc)
+ 'Increase the discretization of the evaluation grid ' +
+ '(inc=%d)!' % inc)
norm_fact = norm_fact0
kw = kw / norm_fact
@@ -971,6 +988,7 @@ class KDE(_KDE):
------
ValueError if the dimensionality of the input points is different than
the dimensionality of the KDE.
+
"""
d, m = points.shape
@@ -978,9 +996,11 @@ class KDE(_KDE):
r = kwds.get('r', 0)
if r == 0:
- fun = lambda xi: 1
+ def fun(xi):
+ return 1
else:
- fun = lambda xi: (xi ** r).sum(axis=0)
+ def fun(xi):
+ return (xi ** r).sum(axis=0)
if m >= self.n:
y = kwds.get('y', np.ones(self.n))
@@ -988,8 +1008,8 @@ class KDE(_KDE):
for i in range(self.n):
diff = self.dataset[:, i, np.newaxis] - points
tdiff = np.dot(self.inv_hs / self._lambda[i], diff)
- result += y[i] * fun(diff) * self.kernel(
- tdiff) / self._lambda[i] ** d
+ result += y[i] * \
+ fun(diff) * self.kernel(tdiff) / self._lambda[i] ** d
else:
y = kwds.get('y', 1)
# loop over points
@@ -1030,13 +1050,11 @@ class KRegression(_KDE):
xmin, xmax : vectors
specifying the default argument range for the kde.eval_grid methods.
For the kde.eval_grid_fast methods the values must cover the range of
- the data.
- (default min(data)-range(data)/4, max(data)-range(data)/4)
+ the data. (default min(data)-range(data)/4, max(data)-range(data)/4)
If a single value of xmin or xmax is given then the boundary is the is
the same for all dimensions.
- inc : scalar integer
+ inc : scalar integer (default 128)
defining the default dimension of the output from kde.eval_grid methods
- (default 128)
(For kde.eval_grid_fast: A value below 50 is very fast to compute but
may give some inaccuracies. Values between 100 and 500 give very
accurate results)
@@ -1059,6 +1077,7 @@ class KRegression(_KDE):
kde(x0, x1,..., xd) : array
same as kde.eval_grid(x0, x1,..., xd)
+
Example
-------
>>> N = 100
@@ -1139,9 +1158,7 @@ class BKRegression(object):
hs = property(fset=_set_smoothing, fget=lambda cls: cls.kreg.tkde.hs)
def _get_max_smoothing(self, fun=None):
- '''
- Return maximum value for smoothing parameter
- '''
+ """Return maximum value for smoothing parameter."""
x = self.x
y = self.y
if fun is None:
@@ -1150,13 +1167,13 @@ class BKRegression(object):
get_smoothing = getattr(self.kernel, fun)
hs1 = get_smoothing(x)
- #hx = np.median(np.abs(x-np.median(x)))/0.6745*(4.0/(3*n))**0.2
- if (y == True).any():
- hs2 = get_smoothing(x[y == True])
- #hy = np.median(np.abs(y-np.mean(y)))/0.6745*(4.0/(3*n))**0.2
+ # hx = np.median(np.abs(x-np.median(x)))/0.6745*(4.0/(3*n))**0.2
+ if (y == 1).any():
+ hs2 = get_smoothing(x[y == 1])
+ # hy = np.median(np.abs(y-np.mean(y)))/0.6745*(4.0/(3*n))**0.2
else:
hs2 = 4 * hs1
- #hy = 4*hx
+ # hy = 4*hx
hopt = sqrt(hs1 * hs2)
return hopt, hs1, hs2
@@ -1176,8 +1193,7 @@ class BKRegression(object):
return xi
def prb_ci(self, n, p, alpha=0.05, **kwds):
- '''
- Return Confidence Interval for the binomial probability p
+ """Return Confidence Interval for the binomial probability p.
Parameters
----------
@@ -1196,7 +1212,8 @@ class BKRegression(object):
distribution of p, i.e.,
the Bayes estimator for p: p = (y+a)/(n+a+b).
Setting a=b=0.5 gives Jeffreys interval.
- '''
+
+ """
if self.method.startswith('w'):
# Wilson score
z0 = -_invnorm(alpha / 2)
@@ -1220,8 +1237,7 @@ class BKRegression(object):
return plo, pup
def prb_empirical(self, xi=None, hs_e=None, alpha=0.05, color='r', **kwds):
- '''
- Returns empirical binomial probabiltity
+ """Returns empirical binomial probabiltity.
Parameters
----------
@@ -1238,7 +1254,8 @@ class BKRegression(object):
-------
P(x) : PlotData object
empirical probability
- '''
+
+ """
if xi is None:
xi = self.get_grid(hs_e)
@@ -1246,8 +1263,8 @@ class BKRegression(object):
y = self.y
c = gridcount(x, xi) # + self.a + self.b # count data
- if (y == True).any():
- c0 = gridcount(x[y == True], xi) # + self.a # count success
+ if (y == 1).any():
+ c0 = gridcount(x[y == 1], xi) # + self.a # count success
else:
c0 = np.zeros(xi.shape)
prb = np.where(c == 0, 0, c0 / (c + _TINY)) # assume prb==0 for c==0
@@ -1260,8 +1277,7 @@ class BKRegression(object):
return prb_e
def prb_smoothed(self, prb_e, hs, alpha=0.05, color='r', label=''):
- '''
- Return smoothed binomial probability
+ """Return smoothed binomial probability.
Parameters
----------
@@ -1270,7 +1286,8 @@ class BKRegression(object):
alpha : confidence level
color : color of plot object
label : label for plot object
- '''
+
+ """
x_e = prb_e.args
n_e = len(x_e)
@@ -1286,7 +1303,7 @@ class BKRegression(object):
if m_nan.any(): # assume 0/0 division
prb_s.data[m_nan] = 0.0
- #prb_s.data[np.isnan(prb_s.data)] = 0
+ # prb_s.data[np.isnan(prb_s.data)] = 0
# expected number of data in each bin
c_s = self.kreg.tkde.eval_grid_fast(x_s) * dx_e * n
plo, pup = self.prb_ci(c_s, prb_s.data, alpha)
@@ -1317,36 +1334,35 @@ class BKRegression(object):
dp_s = np.sign(np.diff(p_s))
k = (dp_s[:-1] != dp_s[1:]).sum() # numpeaks
- #sigmai = (pup-plo)+_EPS
- #aicc = (((p_e-p_s)/sigmai)**2).sum()+ 2*k*(k+1)/np.maximum(n_e-k+1,1)
+ # sigmai = (pup-plo)+_EPS
+ # aicc = (((p_e-p_s)/sigmai)**2).sum()+ 2*k*(k+1)/np.maximum(n_e-k+1,1)
# + np.abs((p_e-pup).clip(min=0)-(p_e-plo).clip(max=0)).sum()
sigmai = _logit(pup) - _logit(plo) + _EPS
aicc = ((((_logit(p_e) - _logit(p_s)) / sigmai) ** 2).sum() +
- 2 * k * (k + 1) / np.maximum(n_e - k + 1, 1) +
- np.abs((p_e - pup).clip(min=0) - (p_e - plo).clip(max=0)).sum())
+ 2 * k * (k + 1) / np.maximum(n_e - k + 1, 1) +
+ np.abs((p_e - pup).clip(min=0) -
+ (p_e - plo).clip(max=0)).sum())
prb_s.aicc = aicc
- #prb_s.labels.title = ''
- #prb_s.labels.title='perr=%1.3f,aicc=%1.3f, n=%d, hs=%1.3f' %
- #(prb_s.prediction_error_avg,aicc,n,hs)
+ # prb_s.labels.title = ''
+ # prb_s.labels.title='perr=%1.3f,aicc=%1.3f, n=%d, hs=%1.3f' %
+ # (prb_s.prediction_error_avg,aicc,n,hs)
return prb_s
def prb_search_best(self, prb_e=None, hsvec=None, hsfun='hste',
alpha=0.05, color='r', label=''):
- '''
- Return best smoothed binomial probability
+ """Return best smoothed binomial probability.
Parameters
----------
prb_e : PlotData object with empirical binomial probabilites
- hsvec : arraylike
+ hsvec : arraylike (default np.linspace(hsmax*0.1,hsmax,55))
vector smoothing parameters
- (default np.linspace(hsmax*0.1,hsmax,55))
hsfun :
method for calculating hsmax
- '''
+ """
if prb_e is None:
prb_e = self.prb_empirical(
hs_e=self.hs_e, alpha=alpha, color=color)
@@ -1390,13 +1406,13 @@ class _Kernel(object):
raise Exception('Method not implemented for this kernel!')
def effective_support(self):
- '''
- Return the effective support of kernel.
+ """Return the effective support of kernel.
The kernel must be symmetric and compactly supported on [-tau tau]
if the kernel has infinite support then the kernel must have the
effective support in [-tau tau], i.e., be negligible outside the range
- '''
+
+ """
return self._effective_support()
def _effective_support(self):
@@ -1445,7 +1461,7 @@ class _KernelProduct(_KernelMulti):
r = self.r
p = self.p
c = (2 ** p * np.prod(np.r_[1:p + 1]) * sphere_volume(1, r) /
- np.prod(np.r_[(1 + 2):(2 * p + 2):2]))
+ np.prod(np.r_[(1 + 2):(2 * p + 2):2]))
return c ** d
def _kernel(self, x):
@@ -1489,9 +1505,8 @@ class _KernelGaussian(_Kernel):
return (2 * pi * sigma) ** (d / 2.0)
def deriv4_6_8_10(self, t, numout=4):
- '''
- Returns 4th, 6th, 8th and 10th derivatives of the kernel function.
- '''
+ """Returns 4th, 6th, 8th and 10th derivatives of the kernel
+ function."""
phi0 = exp(-0.5 * t ** 2) / sqrt(2 * pi)
p4 = [1, 0, -6, 0, +3]
p4val = np.polyval(p4, t) * phi0
@@ -1551,8 +1566,7 @@ _KERNEL_EXPONENT_DICT = dict(
class Kernel(object):
- '''
- Multivariate kernel
+ """Multivariate kernel.
Parameters
----------
@@ -1585,32 +1599,33 @@ class Kernel(object):
>>> gauss = wk.Kernel('gaussian')
>>> gauss.stats()
(1, 0.28209479177387814, 0.21157109383040862)
- >>> gauss.hscv(data)
- array([ 0.21555043])
- >>> gauss.hstt(data)
- array([ 0.15165387])
- >>> gauss.hste(data)
- array([ 0.18942238])
- >>> gauss.hldpi(data)
- array([ 0.1718688])
-
+ >>> np.allclose(gauss.hscv(data), 0.21779575)
+ True
+ >>> np.allclose(gauss.hstt(data), 0.16341135)
+ True
+ >>> np.allclose(gauss.hste(data), 0.19179399)
+ True
+ >>> np.allclose(gauss.hldpi(data), 0.22502733)
+ True
>>> wk.Kernel('laplace').stats()
(2, 0.25, inf)
- >>> triweight = wk.Kernel('triweight'); triweight.stats()
- (0.1111111111111111, 0.81585081585081587, inf)
-
- >>> triweight(np.linspace(-1,1,11))
- array([ 0. , 0.046656, 0.262144, 0.592704, 0.884736, 1. ,
- 0.884736, 0.592704, 0.262144, 0.046656, 0. ])
- >>> triweight.hns(data)
- array([ 0.82087056])
- >>> triweight.hos(data)
- array([ 0.88265652])
- >>> triweight.hste(data)
- array([ 0.56570278])
- >>> triweight.hscv(data)
- array([ 0.64193201])
+ >>> triweight = wk.Kernel('triweight')
+ >>> np.allclose(triweight.stats(),
+ ... (0.1111111111111111, 0.81585081585081587, np.inf))
+ True
+ >>> np.allclose(triweight(np.linspace(-1,1,11)),
+ ... [ 0., 0.046656, 0.262144, 0.592704, 0.884736, 1.,
+ ... 0.884736, 0.592704, 0.262144, 0.046656, 0.])
+ True
+ >>> np.allclose(triweight.hns(data), 0.82, rtol=1e-2)
+ True
+ >>> np.allclose(triweight.hos(data), 0.88, rtol=1e-2)
+ True
+ >>> np.allclose(triweight.hste(data), 0.57, rtol=1e-2)
+ True
+ >>> np.allclose(triweight.hscv(data), 0.648, rtol=1e-2)
+ True
See also
--------
@@ -1625,11 +1640,12 @@ class Kernel(object):
Wand, M. P. and Jones, M. C. (1995)
'Density estimation for statistics and data analysis'
Chapman and Hall, pp 31, 103, 175
- '''
+
+ """
def __init__(self, name, fun='hste'): # 'hns'):
self.kernel = _MKERNEL_DICT[name[:4]]
- #self.name = self.kernel.__name__.replace('mkernel_', '').title()
+ # self.name = self.kernel.__name__.replace('mkernel_', '').title()
try:
self.get_smoothing = getattr(self, fun)
except:
@@ -1643,7 +1659,7 @@ class Kernel(object):
pass
def stats(self):
- ''' Return some 1D statistics of the kernel.
+ """Return some 1D statistics of the kernel.
Returns
-------
@@ -1660,7 +1676,8 @@ class Kernel(object):
Wand,M.P. and Jones, M.C. (1995)
'Kernel smoothing'
Chapman and Hall, pp 176.
- '''
+
+ """
return self.kernel.stats
def deriv4_6_8_10(self, t, numout=4):
@@ -1670,8 +1687,7 @@ class Kernel(object):
return self.kernel.effective_support()
def hns(self, data):
- '''
- Returns Normal Scale Estimate of Smoothing Parameter.
+ """Returns Normal Scale Estimate of Smoothing Parameter.
Parameter
---------
@@ -1711,7 +1727,8 @@ class Kernel(object):
Wand,M.P. and Jones, M.C. (1995)
'Kernel smoothing'
Chapman and Hall, pp 60--63
- '''
+
+ """
A = np.atleast_2d(data)
n = A.shape[1]
@@ -1729,8 +1746,7 @@ class Kernel(object):
np.minimum(stdA, iqr / 1.349), stdA) * AMISEconstant
def hos(self, data):
- '''
- Returns Oversmoothing Parameter.
+ """Returns Oversmoothing Parameter.
Parameter
---------
@@ -1770,12 +1786,12 @@ class Kernel(object):
Wand,M.P. and Jones, M.C. (1986)
'Kernel smoothing'
Chapman and Hall, pp 60--63
- '''
+
+ """
return self.hns(data) / 0.93
def hmns(self, data):
- '''
- Returns Multivariate Normal Scale Estimate of Smoothing Parameter.
+ """Returns Multivariate Normal Scale Estimate of Smoothing Parameter.
CALL: h = hmns(data,kernel)
@@ -1814,7 +1830,8 @@ class Kernel(object):
Wand,M.P. and Jones, M.C. (1995)
'Kernel smoothing'
Chapman and Hall, pp 60--63, 86--88
- '''
+
+ """
# TODO: implement more kernels
A = np.atleast_2d(data)
@@ -1894,8 +1911,8 @@ class Kernel(object):
amax = A.max(axis=1) # Find the maximum value of A.
arange = amax - amin # Find the range of A.
- #% xa holds the x 'axis' vector, defining a grid of x values where
- #% the k.d. function will be evaluated.
+ # xa holds the x 'axis' vector, defining a grid of x values where
+ # the k.d. function will be evaluated.
ax1 = amin - arange / 8.0
bx1 = amax + arange / 8.0
@@ -1953,7 +1970,7 @@ class Kernel(object):
(-psi6 * R)) ** (1.0 / 7)
# Now estimate psi4 given gamma.
- #kernel weights.
+ # kernel weights.
kw4 = kernel2.deriv4_6_8_10(xn / gamma, numout=1)
kw = np.r_[kw4, 0, kw4[-1:0:-1]] # Apply 'fftshift' to kw.
z = np.real(ifft(fft(c, nfft) * fft(kw))) # convolution.
@@ -1970,7 +1987,7 @@ class Kernel(object):
warnings.warn('The obtained value did not converge.')
h[dim] = h1
- # end % for dim loop
+ # end for dim loop
return h
def hisj(self, data, inc=512, L=7):
@@ -2008,8 +2025,8 @@ class Kernel(object):
amax = A.max(axis=1) # Find the maximum value of A.
arange = amax - amin # Find the range of A.
- #% xa holds the x 'axis' vector, defining a grid of x values where
- #% the k.d. function will be evaluated.
+ # xa holds the x 'axis' vector, defining a grid of x values where
+ # the k.d. function will be evaluated.
ax1 = amin - arange / 8.0
bx1 = amax + arange / 8.0
@@ -2022,16 +2039,15 @@ class Kernel(object):
''' this implements the function t-zeta*gamma^[L](t)'''
prod = np.prod
- #L = 7
+ # L = 7
logI = np.log(I)
- f = 2 * \
- pi ** (2 * L) * (a2 * exp(L * logI - I * pi ** 2 * t)).sum()
+ f = 2 * pi ** (2 * L) * \
+ (a2 * exp(L * logI - I * pi ** 2 * t)).sum()
for s in range(L - 1, 1, -1):
K0 = prod(np.r_[1:2 * s:2]) / sqrt(2 * pi)
const = (1 + (1. / 2) ** (s + 1. / 2)) / 3
time = (2 * const * K0 / N / f) ** (2. / (3 + 2 * s))
- f = 2 * \
- pi ** (2 * s) * \
+ f = 2 * pi ** (2 * s) * \
(a2 * exp(s * logI - I * pi ** 2 * time)).sum()
return t - (2 * N * sqrt(pi) * f) ** (-2. / 5)
@@ -2044,24 +2060,26 @@ class Kernel(object):
c = gridcount(A[dim], xa)
N = len(set(A[dim]))
- #a = dct(c/c.sum(), norm=None)
+ # a = dct(c/c.sum(), norm=None)
a = dct(c / len(A[dim]), norm=None)
# now compute the optimal bandwidth^2 using the referenced method
I = np.asfarray(np.arange(1, inc)) ** 2
a2 = (a[1:] / 2) ** 2
- fun = lambda t: fixed_point(t, N, I, a2)
+
+ def fun(t):
+ return fixed_point(t, N, I, a2)
x = np.linspace(0, 0.1, 150)
ai = x[0]
f0 = fun(ai)
for bi in x[1:]:
f1 = fun(bi)
if f1 * f0 <= 0:
- #print('ai = %g, bi = %g' % (ai,bi))
+ # print('ai = %g, bi = %g' % (ai,bi))
break
else:
ai = bi
- #y = np.asarray([fun(j) for j in x])
+ # y = np.asarray([fun(j) for j in x])
# plt.figure(1)
# plt.plot(x,y)
# plt.show()
@@ -2076,14 +2094,14 @@ class Kernel(object):
# smooth the discrete cosine transform of initial data using t_star
# a_t = a*exp(-np.arange(inc)**2*pi**2*t_star/2)
# now apply the inverse discrete cosine transform
- #density = idct(a_t)/R;
+ # density = idct(a_t)/R;
# take the rescaling of the data into account
bandwidth = sqrt(t_star) * R
# Kernel other than Gaussian scale bandwidth
h[dim] = bandwidth * (STEconstant / STEconstant2) ** (1.0 / 5)
- # end % for dim loop
+ # end for dim loop
return h
def hstt(self, data, h0=None, inc=128, maxit=100, releps=0.01, abseps=0.0):
@@ -2146,8 +2164,8 @@ class Kernel(object):
amax = A.max(axis=1) # Find the maximum value of A.
arange = amax - amin # Find the range of A.
- #% xa holds the x 'axis' vector, defining a grid of x values where
- #% the k.d. function will be evaluated.
+ # xa holds the x 'axis' vector, defining a grid of x values where
+ # the k.d. function will be evaluated.
ax1 = amin - arange / 8.0
bx1 = amax + arange / 8.0
@@ -2241,8 +2259,8 @@ class Kernel(object):
amax = A.max(axis=1) # Find the maximum value of A.
arange = amax - amin # Find the range of A.
- #% xa holds the x 'axis' vector, defining a grid of x values where
- #% the k.d. function will be evaluated.
+ # xa holds the x 'axis' vector, defining a grid of x values where
+ # the k.d. function will be evaluated.
ax1 = amin - arange / 8.0
bx1 = amax + arange / 8.0
@@ -2378,8 +2396,8 @@ class Kernel(object):
amax = A.max(axis=1) # Find the maximum value of A.
arange = amax - amin # Find the range of A.
- #% xa holds the x 'axis' vector, defining a grid of x values where
- #% the k.d. function will be evaluated.
+ # xa holds the x 'axis' vector, defining a grid of x values where
+ # the k.d. function will be evaluated.
ax1 = amin - arange / 8.0
bx1 = amax + arange / 8.0
@@ -2443,8 +2461,7 @@ class Kernel(object):
def mkernel(X, kernel):
- '''
- MKERNEL Multivariate Kernel Function.
+ """MKERNEL Multivariate Kernel Function.
Paramaters
----------
@@ -2483,7 +2500,8 @@ def mkernel(X, kernel):
Wand, M. P. and Jones, M. C. (1995)
'Density estimation for statistics and data analysis'
Chapman and Hall, pp 31, 103, 175
- '''
+
+ """
fun = _MKERNEL_DICT[kernel[:4]]
return fun(np.atleast_2d(X))
@@ -2510,8 +2528,7 @@ def accumsum2(accmap, a, size):
def accum(accmap, a, func=None, size=None, fill_value=0, dtype=None):
- """
- An accumulation function similar to Matlab's `accumarray` function.
+ """An accumulation function similar to Matlab's `accumarray` function.
Parameters
----------
@@ -2579,6 +2596,7 @@ def accum(accmap, a, func=None, size=None, fill_value=0, dtype=None):
>>> accum(accmap, a, func=lambda x: x, dtype='O')
array([[[1, 2, 4, -1], [3, 6]],
[[-1, 8], [9]]], dtype=object)
+
"""
# Check for bad arguments and handle the defaults.
@@ -2616,7 +2634,7 @@ def accum(accmap, a, func=None, size=None, fill_value=0, dtype=None):
def qlevels(pdf, p=(10, 30, 50, 70, 90, 95, 99, 99.9), x1=None, x2=None):
- '''QLEVELS Calculates quantile levels which encloses P% of PDF
+ """QLEVELS Calculates quantile levels which encloses P% of PDF.
CALL: [ql PL] = qlevels(pdf,PL,x1,x2);
@@ -2651,7 +2669,8 @@ def qlevels(pdf, p=(10, 30, 50, 70, 90, 95, 99, 99.9), x1=None, x2=None):
See also
--------
qlevels2, tranproc
- '''
+
+ """
norm = 1 # normalize cdf to unity
pdf = np.atleast_1d(pdf)
@@ -2728,8 +2747,7 @@ def qlevels(pdf, p=(10, 30, 50, 70, 90, 95, 99, 99.9), x1=None, x2=None):
def qlevels2(data, p=(10, 30, 50, 70, 90, 95, 99, 99.9), method=1):
- '''
- QLEVELS2 Calculates quantile levels which encloses P% of data
+ """QLEVELS2 Calculates quantile levels which encloses P% of data.
CALL: [ql PL] = qlevels2(data,PL,method);
@@ -2754,8 +2772,10 @@ def qlevels2(data, p=(10, 30, 50, 70, 90, 95, 99, 99.9), method=1):
>>> import wafo.stats as ws
>>> PL = np.r_[10:90:20, 90, 95, 99, 99.9]
>>> xs = ws.norm.rvs(size=2500000)
- >>> np.round(qlevels2(ws.norm.pdf(xs), p=PL), decimals=3)
- array([ 0.396, 0.37 , 0.318, 0.233, 0.103, 0.058, 0.014, 0.002])
+ >>> np.allclose(qlevels2(ws.norm.pdf(xs), p=PL),
+ ... [0.3958, 0.3704, 0.3179, 0.2331, 0.1031, 0.05841, 0.01451, 0.001751],
+ ... rtol=1e-1)
+ True
# compared with the exact values
>>> ws.norm.pdf(ws.norm.ppf((100-PL)/200))
@@ -2769,7 +2789,8 @@ def qlevels2(data, p=(10, 30, 50, 70, 90, 95, 99, 99.9), method=1):
See also
--------
qlevels
- '''
+
+ """
q = 100 - np.atleast_1d(p)
return percentile(data, q, axis=-1, method=method)
@@ -2879,8 +2900,7 @@ def _compute_qth_percentile(sorted_, q, axis, out, method):
def percentile(a, q, axis=None, out=None, overwrite_input=False, method=1,
weights=None):
- """
- Compute the qth percentile of the data along the specified axis.
+ """Compute the qth percentile of the data along the specified axis.
Returns the qth percentile of the array elements.
@@ -2975,7 +2995,7 @@ def percentile(a, q, axis=None, out=None, overwrite_input=False, method=1,
>>> wk.percentile(b, 50, axis=None, overwrite_input=True)
3.5
>>> np.all(a==b)
- False
+ True
"""
a = np.asarray(a)
@@ -2991,8 +3011,7 @@ def percentile(a, q, axis=None, out=None, overwrite_input=False, method=1,
weights, overwrite_input)
elif overwrite_input:
if axis is None:
- sorted_ = a.ravel()
- sorted_.sort()
+ sorted_ = np.sort(a, axis=axis)
else:
a.sort(axis=axis)
sorted_ = a
@@ -3005,8 +3024,7 @@ def percentile(a, q, axis=None, out=None, overwrite_input=False, method=1,
def iqrange(data, axis=None):
- '''
- Returns the Inter Quartile Range of data
+ """Returns the Inter Quartile Range of data.
Parameters
----------
@@ -3035,20 +3053,21 @@ def iqrange(data, axis=None):
See also
--------
np.std
- '''
+
+ """
return np.abs(np.percentile(data, 75, axis=axis) -
np.percentile(data, 25, axis=axis))
def bitget(int_type, offset):
- '''
- Returns the value of the bit at the offset position in int_type.
+ """Returns the value of the bit at the offset position in int_type.
Example
-------
>>> bitget(5, np.r_[0:4])
array([1, 0, 1, 0])
- '''
+
+ """
return np.bitwise_and(int_type, 1 << offset) >> offset
@@ -3086,7 +3105,7 @@ def gridcount(data, X, y=1):
>>> import numpy as np
>>> import wafo.kdetools as wk
>>> import pylab as plb
- >>> N = 20;
+ >>> N = 200
>>> data = np.random.rayleigh(1,N)
>>> x = np.linspace(0,max(data)+1,50)
>>> dx = x[1]-x[0]
@@ -3096,8 +3115,8 @@ def gridcount(data, X, y=1):
>>> h = plb.plot(x,c,'.') # 1D histogram
>>> pdf = c/dx/N
>>> h1 = plb.plot(x, pdf) # 1D probability density plot
- >>> '%1.3f' % np.trapz(pdf, x)
- '1.000'
+ >>> '%1.2f' % np.trapz(pdf, x)
+ '1.00'
See also
--------
@@ -3142,7 +3161,7 @@ def gridcount(data, X, y=1):
c = np.asarray((acfun(binx, (x[binx + 1] - dat) * y, size=(inc, )) +
acfun(binx + 1, (dat - x[binx]) * y, size=(inc, ))) /
w).ravel()
- else: # % d>2
+ else: # d>2
Nc = csiz.prod()
c = np.zeros((Nc,))
@@ -3160,7 +3179,7 @@ def gridcount(data, X, y=1):
one = np.mod(ix, 2)
two = np.mod(ix + 1, 2)
# Convert to linear index
- #linear index to c
+ # linear index to c
b1 = np.sum((binx + bt0[one]) * fact1, axis=0)
bt2 = bt0[two] + fact2
b2 = binx + bt2 # linear index to X
@@ -3176,509 +3195,14 @@ def gridcount(data, X, y=1):
return c
-def evar(y):
- '''
- Noise variance estimation.
- Assuming that the deterministic function Y has additive Gaussian noise,
- EVAR(Y) returns an estimated variance of this noise.
-
- Note:
- ----
- A thin-plate smoothing spline model is used to smooth Y. It is assumed
- that the model whose generalized cross-validation score is minimum can
- provide the variance of the additive noise. A few tests showed that
- EVAR works very well with "not too irregular" functions.
-
- Examples:
- --------
- 1D signal
- >>> n = 1e6
- >>> x = np.linspace(0,100,n);
- >>> y = np.cos(x/10)+(x/50)
- >>> var0 = 0.02 # noise variance
- >>> yn = y + sqrt(var0)*np.random.randn(*y.shape)
- >>> s = evar(yn) #estimated variance
- >>> np.abs(s-var0)/var0 < 3.5/np.sqrt(n)
- True
-
- 2D function
- >>> xp = np.linspace(0,1,50)
- >>> x, y = np.meshgrid(xp,xp)
- >>> f = np.exp(x+y) + np.sin((x-2*y)*3)
- >>> var0 = 0.04 # noise variance
- >>> fn = f + sqrt(var0)*np.random.randn(*f.shape)
- >>> s = evar(fn) # estimated variance
- >>> np.abs(s-var0)/var0 < 3.5/np.sqrt(50)
- True
-
- 3D function
- >>> yp = np.linspace(-2,2,50)
- >>> [x,y,z] = meshgrid(yp,yp,yp, sparse=True)
- >>> f = x*exp(-x**2-y**2-z**2)
- >>> var0 = 0.5 # noise variance
- >>> fn = f + sqrt(var0)*np.random.randn(*f.shape)
- >>> s = evar(fn) # estimated variance
- >>> np.abs(s-var0)/var0 < 3.5/np.sqrt(50)
- True
-
- Other example
- -------------
- http://www.biomecardio.com/matlab/evar.html
-
- Note:
- ----
- EVAR is only adapted to evenly-gridded 1-D to N-D data.
-
- See also
- --------
- VAR, STD, SMOOTHN
- '''
-
- # Damien Garcia -- 2008/04, revised 2009/10
- y = np.atleast_1d(y)
- d = y.ndim
- sh0 = y.shape
-
- S = np.zeros(sh0)
- sh1 = np.ones((d,))
- cos = np.cos
- pi = np.pi
- for i in range(d):
- ni = sh0[i]
- sh1[i] = ni
- t = np.arange(ni).reshape(sh1) / ni
- S += cos(pi * t)
- sh1[i] = 1
-
- S2 = 2 * (d - S).ravel()
- # N-D Discrete Cosine Transform of Y
- dcty2 = dctn(y).ravel() ** 2
-
- def score_fun(L, S2, dcty2):
- # Generalized cross validation score
- M = 1 - 1. / (1 + 10 ** L * S2)
- noisevar = (dcty2 * M ** 2).mean()
- return noisevar / M.mean() ** 2
- #fun = lambda x : score_fun(x, S2, dcty2)
- Lopt = optimize.fminbound(score_fun, -38, 38, args=(S2, dcty2))
- M = 1.0 - 1.0 / (1 + 10 ** Lopt * S2)
- noisevar = (dcty2 * M ** 2).mean()
- return noisevar
-
-
-def smoothn(data, s=None, weight=None, robust=False, z0=None, tolz=1e-3,
- maxiter=100, fulloutput=False):
- '''
- SMOOTHN fast and robust spline smoothing for 1-D to N-D data.
-
- Parameters
- ----------
- data : array like
- uniformly-sampled data array to smooth. Non finite values (NaN or Inf)
- are treated as missing values.
- s : real positive scalar
- smooting parameter. The larger S is, the smoother the output will be.
- Default value is automatically determined using the generalized
- cross-validation (GCV) method.
- weight : string or array weights
- weighting array of real positive values, that must have the same size
- as DATA. Note that a zero weight corresponds to a missing value.
- robust : bool
- If true carry out a robust smoothing that minimizes the influence of
- outlying data.
- tolz : real positive scalar
- Termination tolerance on Z (default = 1e-3)
- maxiter : scalar integer
- Maximum number of iterations allowed (default = 100)
- z0 : array-like
- Initial value for the iterative process (default = original data)
-
- Returns
- -------
- z : array like
- smoothed data
-
- To be made
- ----------
- Estimate the confidence bands (see Wahba 1983, Nychka 1988).
-
- Reference
- ---------
- Garcia D, Robust smoothing of gridded data in one and higher dimensions
- with missing values. Computational Statistics & Data Analysis, 2010.
- http://www.biomecardio.com/pageshtm/publi/csda10.pdf
-
- Examples:
- --------
-
- 1-D example
- >>> import matplotlib.pyplot as plt
- >>> x = np.linspace(0,100,2**8)
- >>> y = np.cos(x/10)+(x/50)**2 + np.random.randn(*x.shape)/10
- >>> y[np.r_[70, 75, 80]] = np.array([5.5, 5, 6])
- >>> z = smoothn(y) # Regular smoothing
- >>> zr = smoothn(y,robust=True) # Robust smoothing
- >>> h=plt.subplot(121),
- >>> h = plt.plot(x,y,'r.',x,z,'k',linewidth=2)
- >>> h=plt.title('Regular smoothing')
- >>> h=plt.subplot(122)
- >>> h=plt.plot(x,y,'r.',x,zr,'k',linewidth=2)
- >>> h=plt.title('Robust smoothing')
-
- 2-D example
- >>> xp = np.r_[0:1:.02]
- >>> [x,y] = np.meshgrid(xp,xp)
- >>> f = np.exp(x+y) + np.sin((x-2*y)*3);
- >>> fn = f + np.random.randn(*f.shape)*0.5;
- >>> fs = smoothn(fn);
- >>> h=plt.subplot(121),
- >>> h=plt.contourf(xp,xp,fn)
- >>> h=plt.subplot(122)
- >>> h=plt.contourf(xp,xp,fs)
-
- 2-D example with missing data
- n = 256;
- y0 = peaks(n);
- y = y0 + rand(size(y0))*2;
- I = randperm(n^2);
- y(I(1:n^2*0.5)) = NaN; lose 1/2 of data
- y(40:90,140:190) = NaN; create a hole
- z = smoothn(y); smooth data
- subplot(2,2,1:2), imagesc(y), axis equal off
- title('Noisy corrupt data')
- subplot(223), imagesc(z), axis equal off
- title('Recovered data ...')
- subplot(224), imagesc(y0), axis equal off
- title('... compared with original data')
-
- 3-D example
- [x,y,z] = meshgrid(-2:.2:2);
- xslice = [-0.8,1]; yslice = 2; zslice = [-2,0];
- vn = x.*exp(-x.^2-y.^2-z.^2) + randn(size(x))*0.06;
- subplot(121), slice(x,y,z,vn,xslice,yslice,zslice,'cubic')
- title('Noisy data')
- v = smoothn(vn);
- subplot(122), slice(x,y,z,v,xslice,yslice,zslice,'cubic')
- title('Smoothed data')
-
- Cardioid
-
- t = linspace(0,2*pi,1000);
- x = 2*cos(t).*(1-cos(t)) + randn(size(t))*0.1;
- y = 2*sin(t).*(1-cos(t)) + randn(size(t))*0.1;
- z = smoothn(complex(x,y));
- plot(x,y,'r.',real(z),imag(z),'k','linewidth',2)
- axis equal tight
-
- Cellular vortical flow
- [x,y] = meshgrid(linspace(0,1,24));
- Vx = cos(2*pi*x+pi/2).*cos(2*pi*y);
- Vy = sin(2*pi*x+pi/2).*sin(2*pi*y);
- Vx = Vx + sqrt(0.05)*randn(24,24); adding Gaussian noise
- Vy = Vy + sqrt(0.05)*randn(24,24); adding Gaussian noise
- I = randperm(numel(Vx));
- Vx(I(1:30)) = (rand(30,1)-0.5)*5; adding outliers
- Vy(I(1:30)) = (rand(30,1)-0.5)*5; adding outliers
- Vx(I(31:60)) = NaN; missing values
- Vy(I(31:60)) = NaN; missing values
- Vs = smoothn(complex(Vx,Vy),'robust'); automatic smoothing
- subplot(121), quiver(x,y,Vx,Vy,2.5), axis square
- title('Noisy velocity field')
- subplot(122), quiver(x,y,real(Vs),imag(Vs)), axis square
- title('Smoothed velocity field')
-
- See also SMOOTH, SMOOTH3, DCTN, IDCTN.
-
- -- Damien Garcia -- 2009/03, revised 2010/11
- Visit
- http://www.biomecardio.com/matlab/smoothn.html
- for more details about SMOOTHN
- '''
-
- y = np.atleast_1d(data)
- sizy = y.shape
- noe = y.size
- if noe < 2:
- return data
-
- weightstr = 'bisquare'
- W = np.ones(sizy)
- # Smoothness parameter and weights
- if weight is None:
- pass
- elif isinstance(weight, str):
- weightstr = weight.lower()
- else:
- W = weight
-
- # Weights. Zero weights are assigned to not finite values (Inf or NaN),
- # (Inf/NaN values = missing data).
- IsFinite = np.isfinite(y)
- nof = IsFinite.sum() # number of finite elements
- W = W * IsFinite
- if (W < 0).any():
- raise ValueError('Weights must all be >=0')
- else:
- W = W / W.max()
-
- # Weighted or missing data?
- isweighted = (W < 1).any()
-
- # Automatic smoothing?
- isauto = s is None
- # Creation of the Lambda tensor
- # Lambda contains the eingenvalues of the difference matrix used in this
- # penalized least squares process.
- d = y.ndim
- Lambda = np.zeros(sizy)
- siz0 = [1, ] * d
- for i in range(d):
- siz0[i] = sizy[i]
- Lambda = Lambda + \
- np.cos(pi * np.arange(sizy[i]) / sizy[i]).reshape(siz0)
- siz0[i] = 1
-
- Lambda = -2 * (d - Lambda)
- if not isauto:
- Gamma = 1. / (1 + s * Lambda ** 2)
-
- # Upper and lower bound for the smoothness parameter
- # The average leverage (h) is by definition in [0 1]. Weak smoothing occurs
- # if h is close to 1, while over-smoothing appears when h is near 0. Upper
- # and lower bounds for h are given to avoid under- or over-smoothing. See
- # equation relating h to the smoothness parameter (Equation #12 in the
- # referenced CSDA paper).
- N = (np.array(sizy) != 1).sum() # tensor rank of the y-array
- hMin = 1e-6
- hMax = 0.99
- sMinBnd = (((1 + sqrt(1 + 8 * hMax ** (2. / N))) / 4. /
- hMax ** (2. / N)) ** 2 - 1) / 16
- sMaxBnd = (((1 + sqrt(1 + 8 * hMin ** (2. / N))) / 4. /
- hMin ** (2. / N)) ** 2 - 1) / 16
-
- # Initialize before iterating
-
- Wtot = W
- # Initial conditions for z
- if isweighted:
- # With weighted/missing data
- # An initial guess is provided to ensure faster convergence. For that
- # purpose, a nearest neighbor interpolation followed by a coarse
- # smoothing are performed.
-
- if z0 is None:
- z = InitialGuess(y, IsFinite)
- else:
- # an initial guess (z0) has been provided
- z = z0
- else:
- z = np.zeros(sizy)
- z0 = z
- y[~IsFinite] = 0 # arbitrary values for missing y-data
-
- tol = 1
- RobustIterativeProcess = True
- RobustStep = 1
-
- # Error on p. Smoothness parameter s = 10^p
- errp = 0.1
-
- # Relaxation factor RF: to speedup convergence
- RF = 1 + 0.75 if weight is None else 1.0
-
- norm = linalg.norm
- # Main iterative process
- while RobustIterativeProcess:
- # "amount" of weights (see the function GCVscore)
- aow = Wtot.sum() / noe # 0 < aow <= 1
- exitflag = True
- for nit in range(1, maxiter + 1):
- DCTy = dctn(Wtot * (y - z) + z)
- if isauto and not np.remainder(np.log2(nit), 1):
-
- # The generalized cross-validation (GCV) method is used.
- # We seek the smoothing parameter s that minimizes the GCV
- # score i.e. s = Argmin(GCVscore).
- # Because this process is time-consuming, it is performed from
- # time to time (when nit is a power of 2)
- log10s = optimize.fminbound(
- gcv, np.log10(sMinBnd), np.log10(sMaxBnd),
- args=(aow, Lambda, DCTy, y, Wtot, IsFinite, nof, noe),
- xtol=errp, full_output=False, disp=False)
- s = 10 ** log10s
- Gamma = 1.0 / (1 + s * Lambda ** 2)
- z = RF * idctn(Gamma * DCTy) + (1 - RF) * z
-
- # if no weighted/missing data => tol=0 (no iteration)
- tol = norm(z0.ravel() - z.ravel()) / norm(
- z.ravel()) if isweighted else 0.0
- if tol <= tolz:
- break
- z0 = z # re-initialization
- else:
- exitflag = False # nit 0.9: # aow = 1 means that all of the data are equally weighted
- # very much faster: does not require any inverse DCT
- RSS = linalg.norm(DCTy.ravel() * (Gamma.ravel() - 1)) ** 2
- else:
- # take account of the weights to calculate RSS:
- yhat = idctn(Gamma * DCTy)
- RSS = linalg.norm(
- sqrt(Wtot[IsFinite]) * (y[IsFinite] - yhat[IsFinite])) ** 2
- # end
-
- TrH = Gamma.sum()
- GCVscore = RSS / nof / (1.0 - TrH / noe) ** 2
- return GCVscore
-
-
-# Robust weights
-def RobustWeights(r, I, h, wstr):
- # weights for robust smoothing.
- MAD = np.median(abs(r[I] - np.median(r[I]))) # median absolute deviation
- u = abs(r / (1.4826 * MAD) / sqrt(1 - h)) # studentized residuals
- if wstr == 'cauchy':
- c = 2.385
- W = 1. / (1 + (u / c) ** 2) # Cauchy weights
- elif wstr == 'talworth':
- c = 2.795
- W = u < c # Talworth weights
- else: # bisquare weights
- c = 4.685
- W = (1 - (u / c) ** 2) ** 2 * ((u / c) < 1)
-
- W[np.isnan(W)] = 0
- return W
-
-# Initial Guess with weighted/missing data
-
-
-def InitialGuess(y, I):
- # nearest neighbor interpolation (in case of missing values)
- z = y
- if (1 - I).any():
-
- if True: # license('test','image_toolbox')
- notI = ~I
- z, L = distance_transform_edt(notI, return_indices=True)
- #[z,L] = bwdist(I);
- z[notI] = y[L.flat[notI]]
- else:
- #% If BWDIST does not exist, NaN values are all replaced with the
- #% same scalar. The initial guess is not optimal and a warning
- #% message thus appears.
- z[1 - I] = y[I].mean()
-
- # coarse fast smoothing using one-tenth of the DCT coefficients
- siz = z.shape
- d = z.ndim
- z = dctn(z)
- for k in range(d):
- z[int((siz[k] + 0.5) / 10) + 1::, ...] = 0
- z = z.reshape(np.roll(siz, -k))
- z = z.transpose(np.roll(range(z.ndim), -1))
- #z = shiftdim(z,1);
- # end
- z = idctn(z)
-
- return z
-
-
-def test_smoothn_1d():
- x = np.linspace(0, 100, 2 ** 8)
- y = np.cos(x / 10) + (x / 50) ** 2 + np.random.randn(x.size) / 10
- y[np.r_[70, 75, 80]] = np.array([5.5, 5, 6])
- z = smoothn(y) # Regular smoothing
- zr = smoothn(y, robust=True) # Robust smoothing
- plt.subplot(121),
- unused_h = plt.plot(x, y, 'r.', x, z, 'k', linewidth=2)
- plt.title('Regular smoothing')
- plt.subplot(122)
- plt.plot(x, y, 'r.', x, zr, 'k', linewidth=2)
- plt.title('Robust smoothing')
- plt.show()
-
-
-def test_smoothn_2d():
-
- #import mayavi.mlab as plt
- xp = np.r_[0:1:.02]
- [x, y] = np.meshgrid(xp, xp)
- f = np.exp(x + y) + np.sin((x - 2 * y) * 3)
- fn = f + np.random.randn(*f.shape) * 0.5
- fs, s = smoothn(fn, fulloutput=True) # @UnusedVariable
- fs2 = smoothn(fn, s=2 * s)
- plt.subplot(131),
- plt.contourf(xp, xp, fn)
- plt.subplot(132),
- plt.contourf(xp, xp, fs2)
- plt.subplot(133),
- plt.contourf(xp, xp, f)
- plt.show()
-
-
-def test_smoothn_cardioid():
- t = np.linspace(0, 2 * pi, 1000)
- cos = np.cos
- sin = np.sin
- randn = np.random.randn
- x = 2 * cos(t) * (1 - cos(t)) + randn(t.size) * 0.1
- y = 2 * sin(t) * (1 - cos(t)) + randn(t.size) * 0.1
- z = smoothn(x + 1j * y)
- plt.plot(x, y, 'r.', z.real, z.imag, 'k', linewidth=2)
- plt.show()
-
-
def kde_demo1():
- '''
- KDEDEMO1 Demonstrate the smoothing parameter impact on KDE
+ """KDEDEMO1 Demonstrate the smoothing parameter impact on KDE.
KDEDEMO1 shows the true density (dotted) compared to KDE based on 7
observations (solid) and their individual kernels (dashed) for 3
different values of the smoothing parameter, hs.
- '''
+
+ """
import scipy.stats as st
x = np.linspace(-4, 4, 101)
@@ -3745,7 +3269,7 @@ def kde_demo3():
import scipy.stats as st
data = st.rayleigh.rvs(scale=1, size=(2, 300))
- #x = np.linspace(1.5e-3, 5, 55)
+ # x = np.linspace(1.5e-3, 5, 55)
kde = KDE(data)
f = kde(output='plot', title='Ordinary KDE', plotflag=1)
@@ -3780,7 +3304,7 @@ def kde_demo4(N=50):
data = np.hstack((st.norm.rvs(loc=5, scale=1, size=(N,)),
st.norm.rvs(loc=-5, scale=1, size=(N,))))
- #x = np.linspace(1.5e-3, 5, 55)
+ # x = np.linspace(1.5e-3, 5, 55)
kde = KDE(data, kernel=Kernel('gauss', 'hns'))
f = kde(output='plot', title='Ordinary KDE', plotflag=1)
@@ -3829,47 +3353,30 @@ def kde_demo5(N=500):
def kreg_demo1(hs=None, fast=False, fun='hisj'):
- '''
- '''
+ """"""
N = 100
- #ei = np.random.normal(loc=0, scale=0.075, size=(N,))
- ei = np.array(
- [-0.08508516, 0.10462496, 0.07694448, -0.03080661, 0.05777525,
- 0.06096313, -0.16572389, 0.01838912, -
- 0.06251845, -0.09186784,
- -0.04304887, -0.13365788, -
- 0.0185279, -0.07289167, 0.02319097,
- 0.06887854, -0.08938374, -
- 0.15181813, 0.03307712, 0.08523183,
- -0.0378058, -
- 0.06312874, 0.01485772, 0.06307944, -0.0632959,
- 0.18963205, 0.0369126, -
- 0.01485447, 0.04037722, 0.0085057,
- -0.06912903, 0.02073998, 0.1174351, 0.17599277, -
- 0.06842139,
- 0.12587608, 0.07698113, -
- 0.0032394, -0.12045792, -0.03132877,
- 0.05047314, 0.02013453, 0.04080741, 0.00158392, 0.10237899,
- -0.09069682, 0.09242174, -
- 0.15445323, 0.09190278, 0.07138498,
- 0.03002497, 0.02495252, 0.01286942, 0.06449978, 0.03031802,
- 0.11754861, -0.02322272, 0.00455867, -
- 0.02132251, 0.09119446,
- -0.03210086, -
- 0.06509545, 0.07306443, 0.04330647, 0.078111,
- -0.04146907, 0.05705476, 0.02492201, -
- 0.03200572, -0.02859788,
- -
- 0.05893749, 0.00089538, 0.0432551, 0.04001474, 0.04888828,
- -
- 0.17708392, 0.16478644, 0.1171006, 0.11664846, 0.01410477,
- -0.12458953, -0.11692081, 0.0413047, -
- 0.09292439, -0.07042327,
- 0.14119701, -0.05114335, 0.04994696, -
- 0.09520663, 0.04829406,
- -0.01603065, -
- 0.1933216, 0.19352763, 0.11819496, 0.04567619,
- -0.08348306, 0.00812816, -0.00908206, 0.14528945, 0.02901065])
+ # ei = np.random.normal(loc=0, scale=0.075, size=(N,))
+ ei = np.array([
+ -0.08508516, 0.10462496, 0.07694448, -0.03080661, 0.05777525,
+ 0.06096313, -0.16572389, 0.01838912, -0.06251845, -0.09186784,
+ -0.04304887, -0.13365788, -0.0185279, -0.07289167, 0.02319097,
+ 0.06887854, -0.08938374, -0.15181813, 0.03307712, 0.08523183,
+ -0.0378058, -0.06312874, 0.01485772, 0.06307944, -0.0632959,
+ 0.18963205, 0.0369126, -0.01485447, 0.04037722, 0.0085057,
+ -0.06912903, 0.02073998, 0.1174351, 0.17599277, -0.06842139,
+ 0.12587608, 0.07698113, -0.0032394, -0.12045792, -0.03132877,
+ 0.05047314, 0.02013453, 0.04080741, 0.00158392, 0.10237899,
+ -0.09069682, 0.09242174, -0.15445323, 0.09190278, 0.07138498,
+ 0.03002497, 0.02495252, 0.01286942, 0.06449978, 0.03031802,
+ 0.11754861, -0.02322272, 0.00455867, -0.02132251, 0.09119446,
+ -0.03210086, -0.06509545, 0.07306443, 0.04330647, 0.078111,
+ -0.04146907, 0.05705476, 0.02492201, -0.03200572, -0.02859788,
+ -0.05893749, 0.00089538, 0.0432551, 0.04001474, 0.04888828,
+ -0.17708392, 0.16478644, 0.1171006, 0.11664846, 0.01410477,
+ -0.12458953, -0.11692081, 0.0413047, -0.09292439, -0.07042327,
+ 0.14119701, -0.05114335, 0.04994696, -0.09520663, 0.04829406,
+ -0.01603065, -0.1933216, 0.19352763, 0.11819496, 0.04567619,
+ -0.08348306, 0.00812816, -0.00908206, 0.14528945, 0.02901065])
x = np.linspace(0, 1, N)
y0 = 2 * np.exp(-x ** 2 / (2 * 0.3 ** 2)) + \
@@ -3899,6 +3406,7 @@ def kreg_demo1(hs=None, fast=False, fun='hisj'):
print(kreg.tkde.tkde.inv_hs)
print(kreg.tkde.tkde.hs)
+_TINY = np.finfo(float).machar.tiny
_REALMIN = np.finfo(float).machar.xmin
_REALMAX = np.finfo(float).machar.xmax
_EPS = np.finfo(float).eps
@@ -3915,20 +3423,20 @@ def _logitinv(x):
def _get_data(n=100, symmetric=False, loc1=1.1, scale1=0.6, scale2=1.0):
import scipy.stats as st
- #from sg_filter import SavitzkyGolay
+ # from sg_filter import SavitzkyGolay
dist = st.norm
- norm1 = scale2 * \
- (dist.pdf(-loc1, loc=-loc1, scale=scale1)
- + dist.pdf(-loc1, loc=loc1, scale=scale1))
- fun1 = lambda x: ((dist.pdf(x, loc=-loc1, scale=scale1) +
- dist.pdf(x, loc=loc1, scale=scale1)) /
- norm1).clip(max=1.0)
+ norm1 = scale2 * (dist.pdf(-loc1, loc=-loc1, scale=scale1) +
+ dist.pdf(-loc1, loc=loc1, scale=scale1))
+
+ def fun1(x):
+ return ((dist.pdf(x, loc=-loc1, scale=scale1) +
+ dist.pdf(x, loc=loc1, scale=scale1)) / norm1).clip(max=1.0)
x = np.sort(6 * np.random.rand(n, 1) - 3, axis=0)
y = (fun1(x) > np.random.rand(n, 1)).ravel()
- #y = (np.cos(x)>2*np.random.rand(n, 1)-1).ravel()
+ # y = (np.cos(x)>2*np.random.rand(n, 1)-1).ravel()
x = x.ravel()
if symmetric:
@@ -3958,8 +3466,8 @@ def kreg_demo3(x, y, fun1, hs=None, fun='hisj', plotlog=False):
forward = _logit
reverse = _logitinv
- #forward = np.log
- #reverse = np.exp
+ # forward = np.log
+ # reverse = np.exp
xmin, xmax = x.min(), x.max()
ni = max(2 * int((xmax - xmin) / hopt) + 3, 5)
@@ -3970,8 +3478,8 @@ def kreg_demo3(x, y, fun1, hs=None, fun='hisj', plotlog=False):
xiii = np.linspace(xmin - sml, xmax + sml, 4 * ni + 1)
c = gridcount(x, xi)
- if (y == True).any():
- c0 = gridcount(x[y == True], xi)
+ if (y == 1).any():
+ c0 = gridcount(x[y == 1], xi)
else:
c0 = np.zeros(xi.shape)
yi = np.where(c == 0, 0, c0 / c)
@@ -3988,11 +3496,11 @@ def kreg_demo3(x, y, fun1, hs=None, fun='hisj', plotlog=False):
title='%s err=%1.3f,eerr=%1.3f, n=%d, hs=%1.3f, hs1=%1.3f, hs2=%1.3f' %
(fun, err, eerr, n, hs, hs1, hs2), plotflag=1)
- #yi[yi==0] = 1.0/(c[c!=0].min()+4)
- #yi[yi==1] = 1-1.0/(c[c!=0].min()+4)
- #yi[yi==0] = fi[yi==0]
- #yi[yi==0] = np.exp(stineman_interp(xi[yi==0], xi[yi>0],np.log(yi[yi>0])))
- #yi[yi==0] = fun1(xi[yi==0])
+ # yi[yi==0] = 1.0/(c[c!=0].min()+4)
+ # yi[yi==1] = 1-1.0/(c[c!=0].min()+4)
+ # yi[yi==0] = fi[yi==0]
+ # yi[yi==0] = np.exp(stineman_interp(xi[yi==0], xi[yi>0],np.log(yi[yi>0])))
+ # yi[yi==0] = fun1(xi[yi==0])
try:
yi[yi == 0] = yi[yi > 0].min() / sqrt(n)
except:
@@ -4006,7 +3514,7 @@ def kreg_demo3(x, y, fun1, hs=None, fun='hisj', plotlog=False):
xi, output='plotobj', title='Kernel regression', plotflag=1)
sa = (fg.data - logity).std()
sa2 = iqrange(fg.data - logity) / 1.349
- #print('sa=%g %g' % (sa, sa2))
+ # print('sa=%g %g' % (sa, sa2))
sa = min(sa, sa2)
# plt.figure(1)
@@ -4022,7 +3530,7 @@ def kreg_demo3(x, y, fun1, hs=None, fun='hisj', plotlog=False):
dx = xi[1] - xi[0]
ckreg = KDE(x, hs=hs)
- #ci = ckreg.eval_grid_fast(xi)*n*dx
+ # ci = ckreg.eval_grid_fast(xi)*n*dx
ciii = ckreg.eval_grid_fast(xiii) * dx * x.size # n*(1+symmetric)
# sa1 = np.sqrt(1./(ciii*pi*(1-pi)))
@@ -4037,18 +3545,24 @@ def kreg_demo3(x, y, fun1, hs=None, fun='hisj', plotlog=False):
# plo2 = ((a-sqrt(a**2-2*pi**2*b))/b).clip(min=0,max=1)
# pup2 = ((a+sqrt(a**2-2*pi**2*b))/b).clip(min=0,max=1)
# Jeffreys intervall a=b=0.5
- #st.beta.isf(alpha/2, x+a, n-x+b)
+ # st.beta.isf(alpha/2, x+a, n-x+b)
ab = 0.07 # 0.055
pi1 = pi # fun1(xiii)
- pup2 = np.where(pi == 1, 1, st.beta.isf(
- alpha / 2, ciii * pi1 + ab, ciii * (1 - pi1) + ab))
- plo2 = np.where(pi == 0, 0, st.beta.isf(
- 1 - alpha / 2, ciii * pi1 + ab, ciii * (1 - pi1) + ab))
-
- averr = np.trapz(pup2 - plo2, xiii) / (
- xiii[-1] - xiii[0]) + 0.5 * (df[:-1] * df[1:] < 0).sum()
-
- #f2 = kreg_demo4(x, y, hs, hopt)
+ pup2 = np.where(pi == 1,
+ 1,
+ st.beta.isf(alpha / 2,
+ ciii * pi1 + ab,
+ ciii * (1 - pi1) + ab))
+ plo2 = np.where(pi == 0,
+ 0,
+ st.beta.isf(1 - alpha / 2,
+ ciii * pi1 + ab,
+ ciii * (1 - pi1) + ab))
+
+ averr = np.trapz(pup2 - plo2, xiii) / \
+ (xiii[-1] - xiii[0]) + 0.5 * (df[:-1] * df[1:] < 0).sum()
+
+ # f2 = kreg_demo4(x, y, hs, hopt)
# Wilson score
den = 1 + (z0 ** 2. / ciii)
xc = (pi1 + (z0 ** 2) / (2 * ciii)) / den
@@ -4057,12 +3571,12 @@ def kreg_demo3(x, y, fun1, hs=None, fun='hisj', plotlog=False):
plo = (xc - halfwidth).clip(min=0) # wilson score
pup = (xc + halfwidth).clip(max=1.0) # wilson score
# pup = (pi + z0*np.sqrt(pi*(1-pi)/ciii)).clip(min=0,max=1) # dont use
- #plo = (pi - z0*np.sqrt(pi*(1-pi)/ciii)).clip(min=0,max=1)
+ # plo = (pi - z0*np.sqrt(pi*(1-pi)/ciii)).clip(min=0,max=1)
- #mi = kreg.eval_grid(x)
- #sigma = (stineman_interp(x, xiii, pup)-stineman_interp(x, xiii, plo))/4
- #aic = np.abs((y-mi)/sigma).std()+ 0.5*(df[:-1]*df[1:]<0).sum()/n
- #aic = np.abs((yiii-fiii)/(pup-plo)).std() + \
+ # mi = kreg.eval_grid(x)
+ # sigma = (stineman_interp(x, xiii, pup)-stineman_interp(x, xiii, plo))/4
+ # aic = np.abs((y-mi)/sigma).std()+ 0.5*(df[:-1]*df[1:]<0).sum()/n
+ # aic = np.abs((yiii-fiii)/(pup-plo)).std() + \
# 0.5*(df[:-1]*df[1:]<0).sum() + \
# ((yiii-pup).clip(min=0)-(yiii-plo).clip(max=0)).sum()
@@ -4072,10 +3586,10 @@ def kreg_demo3(x, y, fun1, hs=None, fun='hisj', plotlog=False):
2 * k * (k + 1) / np.maximum(ni - k + 1, 1) + \
np.abs((yiii - pup).clip(min=0) - (yiii - plo).clip(max=0)).sum()
- #aic = (((yiii-fiii)/sigmai)**2).sum()+ 2*k*(k+1)/(ni-k+1) + \
+ # aic = (((yiii-fiii)/sigmai)**2).sum()+ 2*k*(k+1)/(ni-k+1) + \
# np.abs((yiii-pup).clip(min=0)-(yiii-plo).clip(max=0)).sum()
- #aic = averr + ((yiii-pup).clip(min=0)-(yiii-plo).clip(max=0)).sum()
+ # aic = averr + ((yiii-pup).clip(min=0)-(yiii-plo).clip(max=0)).sum()
fg.plot(label='KReg grid aic=%2.3f' % (aic))
f.plot(label='KReg averr=%2.3f ' % (averr))
@@ -4118,7 +3632,7 @@ def kreg_demo4(x, y, hs, hopt, alpha=0.05):
pi = f.data
# Jeffreys intervall a=b=0.5
- #st.beta.isf(alpha/2, x+a, n-x+b)
+ # st.beta.isf(alpha/2, x+a, n-x+b)
ab = 0.07 # 0.5
pi1 = pi
pup = np.where(pi1 == 1, 1, st.beta.isf(
@@ -4133,21 +3647,21 @@ def kreg_demo4(x, y, hs, hopt, alpha=0.05):
# halfwidth=(z0*sqrt((pi1*(1-pi1)/ciii)+(z0**2/(4*(ciii**2)))))/den
# plo2 = (xc-halfwidth).clip(min=0) # wilson score
# pup2 = (xc+halfwidth).clip(max=1.0) # wilson score
- #f.dataCI = np.vstack((plo,pup)).T
+ # f.dataCI = np.vstack((plo,pup)).T
f.prediction_error_avg = np.trapz(pup - plo, xiii) / (xiii[-1] - xiii[0])
fiii = f.data
c = gridcount(x, xi)
- if (y == True).any():
- c0 = gridcount(x[y == True], xi)
+ if (y == 1).any():
+ c0 = gridcount(x[y == 1], xi)
else:
c0 = np.zeros(xi.shape)
yi = np.where(c == 0, 0, c0 / c)
- f.children = [PlotData(
- [plo, pup], xiii, plotmethod='fill_between',
- plot_kwds=dict(alpha=0.2, color='r')),
- PlotData(yi, xi, plotmethod='scatter', plot_kwds=dict(color='r', s=5))]
+ f.children = [PlotData([plo, pup], xiii, plotmethod='fill_between',
+ plot_kwds=dict(alpha=0.2, color='r')),
+ PlotData(yi, xi, plotmethod='scatter',
+ plot_kwds=dict(color='r', s=5))]
yiii = interpolate.interp1d(xi, yi)(xiii)
df = np.diff(fiii)
@@ -4174,14 +3688,13 @@ def check_kreg_demo3():
k0 = k
for fun in ['hste', ]:
- #@UnusedVariable
hsmax, _hs1, _hs2 = _get_regression_smooting(x, y, fun=fun)
for hi in np.linspace(hsmax * 0.25, hsmax, 9):
plt.figure(k)
k += 1
unused = kreg_demo3(x, y, fun1, hs=hi, fun=fun, plotlog=False)
- #kreg_demo2(n=n,symmetric=True,fun='hste', plotlog=False)
+ # kreg_demo2(n=n,symmetric=True,fun='hste', plotlog=False)
fig.tile(range(k0, k))
plt.ioff()
plt.show()
@@ -4193,18 +3706,17 @@ def check_kreg_demo4():
# kde_demo2()
# kreg_demo1(fast=True)
# kde_gauss_demo()
- #kreg_demo2(n=120,symmetric=True,fun='hste', plotlog=True)
+ # kreg_demo2(n=120,symmetric=True,fun='hste', plotlog=True)
k = 0
- for i, n in enumerate([100, 300, 600, 4000]): # @UnusedVariable
+ for _i, n in enumerate([100, 300, 600, 4000]):
x, y, fun1 = _get_data(
n, symmetric=True, loc1=0.1, scale1=0.6, scale2=0.75)
- #k0 = k
+ # k0 = k
hopt1, _h1, _h2 = _get_regression_smooting(x, y, fun='hos')
hopt2, _h1, _h2 = _get_regression_smooting(x, y, fun='hste')
hopt = sqrt(hopt1 * hopt2)
- #hopt = _get_regression_smooting(x,y,fun='hos')[0]
- # , 'hisj', 'hns', 'hstt' @UnusedVariable
- for _j, fun in enumerate(['hste']):
+ # hopt = _get_regression_smooting(x,y,fun='hos')[0]
+ for _j, fun in enumerate(['hste']): # , 'hisj', 'hns', 'hstt'
hsmax, _hs1, _hs2 = _get_regression_smooting(x, y, fun=fun)
fmax = kreg_demo4(x, y, hsmax + 0.1, hopt)
@@ -4217,7 +3729,7 @@ def check_kreg_demo4():
fmax.plot()
plt.plot(x, fun1(x), 'r')
- #kreg_demo2(n=n,symmetric=True,fun='hste', plotlog=False)
+ # kreg_demo2(n=n,symmetric=True,fun='hste', plotlog=False)
fig.tile(range(0, k))
plt.ioff()
plt.show()
@@ -4229,9 +3741,9 @@ def check_regression_bin():
# kde_demo2()
# kreg_demo1(fast=True)
# kde_gauss_demo()
- #kreg_demo2(n=120,symmetric=True,fun='hste', plotlog=True)
+ # kreg_demo2(n=120,symmetric=True,fun='hste', plotlog=True)
k = 0
- for i, n in enumerate([100, 300, 600, 4000]): # @UnusedVariable
+ for _i, n in enumerate([100, 300, 600, 4000]):
x, y, fun1 = _get_data(
n, symmetric=True, loc1=0.1, scale1=0.6, scale2=0.75)
fbest = regressionbin(x, y, alpha=0.05, color='g', label='Transit_D')
@@ -4239,10 +3751,11 @@ def check_regression_bin():
figk = plt.figure(k)
ax = figk.gca()
k += 1
+ fbest.labels.title = 'N = %d' % n
fbest.plot(axis=ax)
ax.plot(x, fun1(x), 'r')
ax.legend(frameon=False, markerscale=4)
- #ax = plt.gca()
+ # ax = plt.gca()
ax.set_yticklabels(ax.get_yticks() * 100.0)
ax.grid(True)
@@ -4254,7 +3767,7 @@ def check_regression_bin():
def check_bkregression():
plt.ion()
k = 0
- for i, n in enumerate([50, 100, 300, 600]): # @UnusedVariable
+ for _i, n in enumerate([50, 100, 300, 600]):
x, y, fun1 = _get_data(
n, symmetric=True, loc1=0.1, scale1=0.6, scale2=0.75)
bkreg = BKRegression(x, y)
@@ -4268,10 +3781,11 @@ def check_bkregression():
# axsize = ax.axis()
# ax.vlines(fbest.hs,axsize[2]+1,axsize[3])
# ax.set(yscale='log')
+ fbest.labels.title = 'N = %d' % n
fbest.plot(axis=ax)
ax.plot(x, fun1(x), 'r')
ax.legend(frameon=False, markerscale=4)
- #ax = plt.gca()
+ # ax = plt.gca()
ax.set_yticklabels(ax.get_yticks() * 100.0)
ax.grid(True)
@@ -4282,26 +3796,25 @@ def check_bkregression():
def _get_regression_smooting(x, y, fun='hste'):
hs1 = Kernel('gauss', fun=fun).get_smoothing(x)
- #hx = np.median(np.abs(x-np.median(x)))/0.6745*(4.0/(3*n))**0.2
- if (y == True).any():
- hs2 = Kernel('gauss', fun=fun).get_smoothing(x[y == True])
- #hy = np.median(np.abs(y-np.mean(y)))/0.6745*(4.0/(3*n))**0.2
+ # hx = np.median(np.abs(x-np.median(x)))/0.6745*(4.0/(3*n))**0.2
+ if (y == 1).any():
+ hs2 = Kernel('gauss', fun=fun).get_smoothing(x[y == 1])
+ # hy = np.median(np.abs(y-np.mean(y)))/0.6745*(4.0/(3*n))**0.2
else:
hs2 = 4 * hs1
- #hy = 4*hx
+ # hy = 4*hx
- #hy2 = Kernel('gauss', fun=fun).get_smoothing(y)
- #kernel = Kernel('gauss',fun=fun)
- #hopt = (hs1+2*hs2)/3
+ # hy2 = Kernel('gauss', fun=fun).get_smoothing(y)
+ # kernel = Kernel('gauss',fun=fun)
+ # hopt = (hs1+2*hs2)/3
# hopt = (hs1+4*hs2)/5 #kernel.get_smoothing(x)
- #hopt = hs2
+ # hopt = hs2
hopt = sqrt(hs1 * hs2)
return hopt, hs1, hs2
def empirical_bin_prb(x, y, hopt, color='r'):
- '''
- Returns empirical binomial probabiltity
+ """Returns empirical binomial probabiltity.
Parameters
----------
@@ -4314,7 +3827,8 @@ def empirical_bin_prb(x, y, hopt, color='r'):
-------
P(x) : PlotData object
empirical probability
- '''
+
+ """
xmin, xmax = x.min(), x.max()
ni = max(2 * int((xmax - xmin) / hopt) + 3, 5)
@@ -4322,8 +3836,8 @@ def empirical_bin_prb(x, y, hopt, color='r'):
xi = np.linspace(xmin - sml, xmax + sml, ni)
c = gridcount(x, xi)
- if (y == True).any():
- c0 = gridcount(x[y == True], xi)
+ if (y == 1).any():
+ c0 = gridcount(x[y == 1], xi)
else:
c0 = np.zeros(xi.shape)
yi = np.where(c == 0, 0, c0 / c)
@@ -4364,7 +3878,7 @@ def smoothed_bin_prb(x, y, hs, hopt, alpha=0.05, color='r', label='',
st = stats
# Jeffreys intervall a=b=0.5
- #st.beta.isf(alpha/2, x+a, n-x+b)
+ # st.beta.isf(alpha/2, x+a, n-x+b)
ab = 0.07 # 0.5
pi1 = pi
pup = np.where(pi1 == 1, 1, st.beta.isf(
@@ -4379,7 +3893,7 @@ def smoothed_bin_prb(x, y, hs, hopt, alpha=0.05, color='r', label='',
# halfwidth=(z0*sqrt((pi1*(1-pi1)/ciii)+(z0**2/(4*(ciii**2)))))/den
# plo2 = (xc-halfwidth).clip(min=0) # wilson score
# pup2 = (xc+halfwidth).clip(max=1.0) # wilson score
- #f.dataCI = np.vstack((plo,pup)).T
+ # f.dataCI = np.vstack((plo,pup)).T
f.prediction_error_avg = np.trapz(pup - plo, xiii) / (xiii[-1] - xiii[0])
fiii = f.data
@@ -4387,10 +3901,9 @@ def smoothed_bin_prb(x, y, hs, hopt, alpha=0.05, color='r', label='',
f.plot_kwds['linewidth'] = 2
if label:
f.plot_kwds['label'] = label
- f.children = [PlotData(
- [plo, pup], xiii, plotmethod='fill_between',
- plot_kwds=dict(alpha=0.2, color=color)),
- bin_prb]
+ f.children = [PlotData([plo, pup], xiii, plotmethod='fill_between',
+ plot_kwds=dict(alpha=0.2, color=color)),
+ bin_prb]
yiii = interpolate.interp1d(xi, yi)(xiii)
df = np.diff(fiii)
@@ -4409,8 +3922,7 @@ def smoothed_bin_prb(x, y, hs, hopt, alpha=0.05, color='r', label='',
def regressionbin(x, y, alpha=0.05, color='r', label=''):
- '''
- Return kernel regression estimate for binomial data
+ """Return kernel regression estimate for binomial data.
Parameters
----------
@@ -4418,7 +3930,8 @@ def regressionbin(x, y, alpha=0.05, color='r', label=''):
positions
y : arraylike
of 0 and 1
- '''
+
+ """
hopt1, _h1, _h2 = _get_regression_smooting(x, y, fun='hos')
hopt2, _h1, _h2 = _get_regression_smooting(x, y, fun='hste')
@@ -4432,39 +3945,39 @@ def regressionbin(x, y, alpha=0.05, color='r', label=''):
f = smoothed_bin_prb(x, y, hi, hopt, alpha, color, label, bin_prb)
if f.aicc <= fbest.aicc:
fbest = f
- #hbest = hi
+ # hbest = hi
return fbest
def kde_gauss_demo(n=50):
- '''
- KDEDEMO Demonstrate the KDEgauss
+ """KDEDEMO Demonstrate the KDEgauss.
KDEDEMO1 shows the true density (dotted) compared to KDE based on 7
observations (solid) and their individual kernels (dashed) for 3
different values of the smoothing parameter, hs.
- '''
+
+ """
st = stats
- #x = np.linspace(-4, 4, 101)
- #data = np.random.normal(loc=0, scale=1.0, size=n)
- #data = np.random.exponential(scale=1.0, size=n)
+ # x = np.linspace(-4, 4, 101)
+ # data = np.random.normal(loc=0, scale=1.0, size=n)
+ # data = np.random.exponential(scale=1.0, size=n)
# n1 = 128
# I = (np.arange(n1)*pi)**2 *0.01*0.5
# kw = exp(-I)
# plt.plot(idctn(kw))
# return
- #dist = st.norm
+ # dist = st.norm
dist = st.expon
data = dist.rvs(loc=0, scale=1.0, size=n)
- d, N = np.atleast_2d(data).shape # @UnusedVariable
+ d, _N = np.atleast_2d(data).shape
if d == 1:
plot_options = [dict(color='red'), dict(
color='green'), dict(color='black')]
else:
- plot_options = [dict(colors='red'), dict(
- colors='green'), dict(colors='black')]
+ plot_options = [dict(colors='red'), dict(colors='green'),
+ dict(colors='black')]
plt.figure(1)
kde0 = KDE(data, kernel=Kernel('gauss', 'hste'))
@@ -4489,28 +4002,51 @@ def kde_gauss_demo(n=50):
format_ = ''.join(('%g, ') * d)
format_ = 'hs0=%s hs1=%s hs2=%s' % (format_, format_, format_)
print(format_ % tuple(kde0.hs.tolist() +
- kde1.tkde.hs.tolist() + kde2.hs.tolist()))
+ kde1.tkde.hs.tolist() + kde2.hs.tolist()))
print('inc0 = %d, inc1 = %d, inc2 = %d' % (kde0.inc, kde1.inc, kde2.inc))
+def test_kde():
+ data = np.array([
+ 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
+ 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
+ 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
+ 1.8919469, 0.72433808, 1.92973094, 0.44749838, 1.36508452])
+
+ x = np.linspace(0.01, max(data.ravel()) + 1, 10)
+ kde = TKDE(data, hs=0.5, L2=0.5)
+ _f = kde(x)
+ # f = array([1.03982714, 0.45839018, 0.39514782, 0.32860602, 0.26433318,
+ # 0.20717946, 0.15907684, 0.1201074 , 0.08941027, 0.06574882])
+
+ _f1 = kde.eval_grid(x)
+ # array([ 1.03982714, 0.45839018, 0.39514782, 0.32860602, 0.26433318,
+ # 0.20717946, 0.15907684, 0.1201074 , 0.08941027, 0.06574882])
+
+ _f2 = kde.eval_grid_fast(x)
+ # array([ 1.06437223, 0.46203314, 0.39593137, 0.32781899, 0.26276433,
+ # 0.20532206, 0.15723498, 0.11843998, 0.08797755, 0. ])
+
+
def test_docstrings():
import doctest
- doctest.testmod()
+ print('Testing docstrings in %s' % __file__)
+ doctest.testmod(optionflags=doctest.NORMALIZE_WHITESPACE)
+
if __name__ == '__main__':
test_docstrings()
-
+ # test_kde()
# check_bkregression()
# check_regression_bin()
# check_kreg_demo3()
# check_kreg_demo4()
-
+ # test_smoothn_1d()
# test_smoothn_2d()
- # test_smoothn_cardioid()
-
# kde_demo2()
# kreg_demo1(fast=True)
# kde_gauss_demo()
- #kreg_demo2(n=120,symmetric=True,fun='hste', plotlog=True)
+ # kreg_demo2(n=120,symmetric=True,fun='hste', plotlog=True)
+ # plt.show('hold')
diff --git a/pywafo/src/wafo/misc.py b/pywafo/src/wafo/misc.py
index 6cfc62b..468bb58 100644
--- a/pywafo/src/wafo/misc.py
+++ b/pywafo/src/wafo/misc.py
@@ -3398,4 +3398,4 @@ def test_hyp2f1():
if __name__ == "__main__":
test_docstrings()
- # test_hyp2f1()
\ No newline at end of file
+ # test_hyp2f1()
diff --git a/pywafo/src/wafo/mvn.pyd b/pywafo/src/wafo/mvn.pyd
index 9756b1b..c76f9e2 100644
Binary files a/pywafo/src/wafo/mvn.pyd and b/pywafo/src/wafo/mvn.pyd differ
diff --git a/pywafo/src/wafo/mvnprdmod.pyd b/pywafo/src/wafo/mvnprdmod.pyd
index aa8f18e..8a50904 100644
Binary files a/pywafo/src/wafo/mvnprdmod.pyd and b/pywafo/src/wafo/mvnprdmod.pyd differ
diff --git a/pywafo/src/wafo/objects.py b/pywafo/src/wafo/objects.py
index f9b1757..afc1b83 100644
--- a/pywafo/src/wafo/objects.py
+++ b/pywafo/src/wafo/objects.py
@@ -13,13 +13,13 @@
from __future__ import division
-from .transform.core import TrData
-from .transform.estimation import TransformEstimator
-from .stats import distributions
-from .misc import (nextpow2, findtp, findrfc, findtc, findcross,
- ecross, JITImport, DotDict, gravity, findrfc_astm)
-from .interpolate import stineman_interp
-from .containers import PlotData
+from wafo.transform.core import TrData
+from wafo.transform.estimation import TransformEstimator
+from wafo.stats import distributions
+from wafo.misc import (nextpow2, findtp, findrfc, findtc, findcross,
+ ecross, JITImport, DotDict, gravity, findrfc_astm)
+from wafo.interpolate import stineman_interp
+from wafo.containers import PlotData
from scipy.integrate import trapz
from scipy.signal import welch, lfilter
from scipy.signal.windows import get_window # @UnusedImport
@@ -32,7 +32,7 @@ from numpy import (inf, pi, zeros, ones, sqrt, where, log, exp, cos, sin,
arcsin, mod,
linspace, arange, sort, all, abs, vstack, hstack,
atleast_1d, finfo, polyfit, r_, nonzero,
- cumsum, ravel, size, isnan, ceil, diff, array)
+ cumsum, ravel, isnan, ceil, diff, array)
from numpy.fft import fft # @UnusedImport
from numpy.random import randn
import matplotlib
@@ -1231,6 +1231,8 @@ class TimeSeries(PlotData):
fact = 2.0 * pi
w = fact * f
spec = _wafospec.SpecData1D(S / fact, w)
+ elif method == 'cov':
+ pass
else:
raise ValueError('Unknown method (%s)' % method)
@@ -1327,18 +1329,18 @@ class TimeSeries(PlotData):
>>> xs = S.sim(ns=2**16, iseed=10)
>>> ts = mat2timeseries(xs)
>>> g0, g0emp = ts.trdata(plotflag=1)
- >>> g1, g1emp = ts.trdata(method='m', gvar=0.5 )
- >>> g2, g2emp = ts.trdata(method='n', gvar=[3.5, 0.5, 3.5])
- >>> int(S.tr.dist2gauss()*100)
- 141
- >>> int(g0emp.dist2gauss()*100)
- 217949
- >>> int(g0.dist2gauss()*100)
- 93
- >>> int(g1.dist2gauss()*100)
- 66
- >>> int(g2.dist2gauss()*100)
- 84
+ >>> g1, g1emp = ts.trdata(method='mnonlinear', gvar=0.5 )
+ >>> g2, g2emp = ts.trdata(method='nonlinear', gvar=[3.5, 0.5, 3.5])
+ >>> 100 < S.tr.dist2gauss()*100 < 200
+ True
+ >>> 2000 < g0emp.dist2gauss() < 4000
+ True
+ >>> 80 < g0.dist2gauss()*100 < 150
+ True
+ >>> 50 < g1.dist2gauss()*100 < 100
+ True
+ >>> 70 < g2.dist2gauss()*100 < 140
+ True
See also
--------
@@ -1927,37 +1929,38 @@ class TimeSeries(PlotData):
Lm = np.minimum([n, 200, int(200/dT)]) # Lagmax 200 seconds
if L is not None:
Lm = max(L, Lm)
- Lma = 1500 # size of the moving average window used
- # for detrending the reconstructed signal
- if not inds is None:
+ # Lma: size of the moving average window used for detrending the
+ # reconstructed signal
+ Lma = 1500
+ if inds is not None:
xn[inds] = np.nan
inds = isnan(xn)
if not inds.any():
raise ValueError('No spurious data given')
- endpos = np.diff(inds)
- strtpos = np.flatnonzero(endpos>0)
- endpos = np.flatnonzero(endpos<0)
+ endpos = np.diff(inds)
+ strtpos = np.flatnonzero(endpos > 0)
+ endpos = np.flatnonzero(endpos < 0)
- indg = np.flatnonzero(1-inds) # indices to good points
+ indg = np.flatnonzero(1-inds) # indices to good points
inds = np.flatnonzero(inds) # indices to spurious points
- indNaN = [] # indices to points omitted in the covariance estimation
- indr = np.arange(n) # indices to point used in the estimation of g
+ indNaN = [] # indices to points omitted in the covariance estimation
+ indr = np.arange(n) # indices to point used in the estimation of g
- # Finding more than cmvmax consecutive spurios points.
- # They will not be used in the estimation of g and are thus removed
+ # Finding more than cmvmax consecutive spurios points.
+ # They will not be used in the estimation of g and are thus removed
# from indr.
- if strtpos.size>0 and (endpos.size==0 or endpos[-1] < strtpos[-1]):
- if (n - strtpos[-1]) > cmvmax:
+ if strtpos.size > 0 and (endpos.size == 0 or endpos[-1] < strtpos[-1]):
+ if (n - strtpos[-1]) > cmvmax:
indNaN = indr[strtpos[-1]+1:n]
indr = indr[:strtpos[-1]+1]
strtpos = strtpos[:-1]
- if endpos.size>0 and (strtpos.size==0 or endpos[0] < strtpos[0]):
- if endpos[0] > cmvmax:
+ if endpos.size > 0 and (strtpos.size == 0 or endpos[0] < strtpos[0]):
+ if endpos[0] > cmvmax:
indNaN = np.hstack((indNaN, indr[:endpos[0]]))
indr = indr[endpos[0]:]
@@ -1965,12 +1968,13 @@ class TimeSeries(PlotData):
endpos = endpos-endpos[0]
endpos = endpos[1:]
- for ix in range(len(strtpos)-1,-1,-1):
- if (endpos[ix]-strtpos[ix]>cmvmax):
+ for ix in range(len(strtpos)-1, -1, -1):
+ if (endpos[ix]-strtpos[ix] > cmvmax):
indNaN = np.hstack((indNaN, indr[strtpos[ix]+1:endpos[ix]]))
- del indr[strtpos[ix]+1:endpos[ix]] # remove this when estimating the transform
+ # remove this when estimating the transform
+ del indr[strtpos[ix]+1:endpos[ix]]
- if len(indr)<0.1*n:
+ if len(indr) < 0.1*n:
raise ValueError('Not possible to reconstruct signal')
if indNaN.any():
@@ -1984,7 +1988,8 @@ class TimeSeries(PlotData):
# xnt(inds,2)=NaN;
# rwin=findrwin(xnt,Lm,L);
# disp(['First reconstruction attempt, e(g-u)=', num2str(test)] )
-# [samp ,mu1o, mu1oStd] = cov2csdat(xnt(:,2),rwin,1,method,inds); # old simcgauss
+# # old simcgauss
+# [samp ,mu1o, mu1oStd] = cov2csdat(xnt(:,2),rwin,1,method,inds);
# if expect1,# reconstruction by expectation
# xnt(inds,2) =mu1o;
# else
@@ -2214,7 +2219,7 @@ class TimeSeries(PlotData):
if len(ind2) > 0:
plot(tn2[ind2] * dT, xn2[ind2], sym2)
plot(h_scale * dT, [0, 0], 'k-')
- #plotbackend.axis([h_scale*dT, v_scale])
+ # plotbackend.axis([h_scale*dT, v_scale])
for iy in [-2, 2]:
plot(h_scale * dT, iy * sigma * ones(2), ':')
ind = ind + Ns
@@ -2301,7 +2306,7 @@ class TimeSeries(PlotData):
def main():
import wafo
ts = wafo.objects.mat2timeseries(wafo.data.sea())
- S = ts.tospecdata(method='psd')
+ _S = ts.tospecdata(method='psd')
tp = ts.turning_points()
mm = tp.cycle_pairs()
lc = mm.level_crossings()
@@ -2346,5 +2351,5 @@ def test_docstrings():
if __name__ == '__main__':
test_docstrings()
- #main()
-# test_levelcrossings_extrapolate()
+ # main()
+ # test_levelcrossings_extrapolate()
diff --git a/pywafo/src/wafo/rindmod.pyd b/pywafo/src/wafo/rindmod.pyd
index 6fcaaa6..2c9c0c0 100644
Binary files a/pywafo/src/wafo/rindmod.pyd and b/pywafo/src/wafo/rindmod.pyd differ
diff --git a/pywafo/src/wafo/sg_filter.py b/pywafo/src/wafo/sg_filter.py
index d539c73..157ed29 100644
--- a/pywafo/src/wafo/sg_filter.py
+++ b/pywafo/src/wafo/sg_filter.py
@@ -1,71 +1,20 @@
+from __future__ import division
import numpy as np
-#from math import pow
-#from numpy import zeros,dot
-from numpy import abs, size, convolve, linalg, concatenate # @UnresolvedImport
+# from math import pow
+# from numpy import zeros,dot
+from numpy import (pi, abs, size, convolve, linalg, concatenate, sqrt)
from scipy.sparse import spdiags
from scipy.sparse.linalg import spsolve, expm
from scipy.signal import medfilt
+from wafo.dctpack import dctn, idctn
+import scipy.optimize as optimize
+from scipy.signal import _savitzky_golay
+from scipy.ndimage import convolve1d
+from scipy.ndimage.morphology import distance_transform_edt
+import warnings
+from wafo.plotbackend import plotbackend as plt
-__all__ = ['calc_coeff', 'smooth', 'smooth_last',
- 'SavitzkyGolay', 'Kalman', 'HodrickPrescott']
-
-
-def calc_coeff(n, degree, diff_order=0):
- """ calculates filter coefficients for symmetric savitzky-golay filter.
- see: http://www.nrbook.com/a/bookcpdf/c14-8.pdf
-
- n means that 2*n+1 values contribute to the smoother.
-
- degree is degree of fitting polynomial
-
- diff_order is degree of implicit differentiation.
- 0 means that filter results in smoothing of function
- 1 means that filter results in smoothing the first
- derivative of function.
- and so on ...
-
- """
- order_range = np.arange(degree + 1)
- k_range = np.arange(-n, n + 1, dtype=float).reshape(-1, 1)
- b = np.mat(k_range ** order_range)
- #b = np.mat([[float(k)**i for i in order_range] for k in range(-n,n+1)])
- coeff = linalg.pinv(b).A[diff_order]
- return coeff
-
-
-def smooth_last(signal, coeff, k=0):
- n = size(coeff - 1) // 2
- y = np.squeeze(signal)
- if y.ndim > 1:
- coeff.shape = (-1, 1)
- first_vals = y[0] - abs(y[n:0:-1] - y[0])
- last_vals = y[-1] + abs(y[-2:-n - 2:-1] - y[-1])
- y = concatenate((first_vals, y, last_vals))
- return (y[-2 * n - 1 - k:-k] * coeff).sum(axis=0)
-
-
-def smooth(signal, coeff, pad=True):
- """applies coefficients calculated by calc_coeff() to signal."""
-
- n = size(coeff - 1) // 2
- y = np.squeeze(signal)
- if n == 0:
- return y
- if pad:
- first_vals = y[0] - abs(y[n:0:-1] - y[0])
- last_vals = y[-1] + abs(y[-2:-n - 2:-1] - y[-1])
- y = concatenate((first_vals, y, last_vals))
- n *= 2
- d = y.ndim
- if d > 1:
- y1 = y.reshape(y.shape[0], -1)
- res = []
- for i in range(y1.shape[1]):
- res.append(convolve(y1[:, i], coeff)[n:-n])
- res = np.asarray(res).T
- else:
- res = convolve(y, coeff)[n:-n]
- return res
+__all__ = ['SavitzkyGolay', 'Kalman', 'HodrickPrescott']
class SavitzkyGolay(object):
@@ -81,21 +30,62 @@ class SavitzkyGolay(object):
n : int
the size of the smoothing window is 2*n+1.
degree : int
- the order of the polynomial used in the filtering.
+ the degree of the polynomial used in the filtering.
Must be less than `window_size` - 1, i.e, less than 2*n.
diff_order : int
order of the derivative to compute (default = 0 means only smoothing)
0 means that filter results in smoothing of function
1 means that filter results in smoothing the first derivative of the
function and so on ...
+ delta : float, optional
+ The spacing of the samples to which the filter will be applied.
+ This is only used if deriv > 0. Default is 1.0.
+ axis : int, optional
+ The axis of the array `x` along which the filter is to be applied.
+ Default is -1.
+ mode : str, optional
+ Must be 'mirror', 'constant', 'nearest', 'wrap' or 'interp'. This
+ determines the type of extension to use for the padded signal to
+ which the filter is applied. When `mode` is 'constant', the padding
+ value is given by `cval`. See the Notes for more details on 'mirror',
+ 'constant', 'wrap', and 'nearest'.
+ When the 'interp' mode is selected (the default), no extension
+ is used. Instead, a degree `polyorder` polynomial is fit to the
+ last `window_length` values of the edges, and this polynomial is
+ used to evaluate the last `window_length // 2` output values.
+ cval : scalar, optional
+ Value to fill past the edges of the input if `mode` is 'constant'.
+ Default is 0.0.
Notes
-----
- The Savitzky-Golay is a type of low-pass filter, particularly
- suited for smoothing noisy data. The main idea behind this
- approach is to make for each point a least-square fit with a
- polynomial of high order over a odd-sized window centered at
- the point.
+ The Savitzky-Golay is a type of low-pass filter, particularly suited for
+ smoothing noisy data. The main idea behind this approach is to make for
+ each point a least-square fit with a polynomial of high order over a
+ odd-sized window centered at the point.
+
+ Details on the `mode` options:
+
+ 'mirror':
+ Repeats the values at the edges in reverse order. The value
+ closest to the edge is not included.
+ 'nearest':
+ The extension contains the nearest input value.
+ 'constant':
+ The extension contains the value given by the `cval` argument.
+ 'wrap':
+ The extension contains the values from the other end of the array.
+
+ For example, if the input is [1, 2, 3, 4, 5, 6, 7, 8], and
+ `window_length` is 7, the following shows the extended data for
+ the various `mode` options (assuming `cval` is 0)::
+
+ mode | Ext | Input | Ext
+ -----------+---------+------------------------+---------
+ 'mirror' | 4 3 2 | 1 2 3 4 5 6 7 8 | 7 6 5
+ 'nearest' | 1 1 1 | 1 2 3 4 5 6 7 8 | 8 8 8
+ 'constant' | 0 0 0 | 1 2 3 4 5 6 7 8 | 0 0 0
+ 'wrap' | 6 7 8 | 1 2 3 4 5 6 7 8 | 1 2 3
Examples
--------
@@ -120,21 +110,19 @@ class SavitzkyGolay(object):
Cambridge University Press ISBN-13: 9780521880688
"""
- def __init__(self, n, degree=1, diff_order=0):
+ def __init__(self, n, degree=1, diff_order=0, delta=1.0, axis=-1,
+ mode='interp', cval=0.0):
self.n = n
self.degree = degree
self.diff_order = diff_order
- self.calc_coeff()
-
- def calc_coeff(self):
- """ calculates filter coefficients for symmetric savitzky-golay filter.
- """
- n = self.n
- order_range = np.arange(self.degree + 1)
- k_range = np.arange(-n, n + 1, dtype=float).reshape(-1, 1)
- b = np.mat(k_range ** order_range)
- #b =np.mat([[float(k)**i for i in order_range] for k in range(-n,n+1)])
- self._coeff = linalg.pinv(b).A[self.diff_order]
+ self.mode = mode
+ self.cval = cval
+ self.axis = axis
+ self.delta = delta
+ window_length = 2 * n + 1
+ self._coeff = _savitzky_golay.savgol_coeffs(window_length,
+ degree, deriv=diff_order,
+ delta=delta)
def smooth_last(self, signal, k=0):
coeff = self._coeff
@@ -152,7 +140,24 @@ class SavitzkyGolay(object):
def __call__(self, signal):
return self.smooth(signal)
- def smooth(self, signal, pad=True):
+ def smooth(self, signal):
+ x = np.asarray(signal)
+ if x.dtype != np.float64 and x.dtype != np.float32:
+ x = x.astype(np.float64)
+
+ coeffs = self._coeff
+ mode, axis = self.mode, self.axis
+ if mode == "interp":
+ window_length, polyorder = self.n * 2 + 1, self.degree
+ deriv, delta = self.diff_order, self.delta
+ y = convolve1d(x, coeffs, axis=axis, mode="constant")
+ _savitzky_golay._fit_edges_polyfit(x, window_length, polyorder,
+ deriv, delta, axis, y)
+ else:
+ y = convolve1d(x, coeffs, axis=axis, mode=mode, cval=self.cval)
+ return y
+
+ def _smooth(self, signal, pad=True):
"""
Returns smoothed signal (or it's n-th derivative).
@@ -190,6 +195,490 @@ class SavitzkyGolay(object):
return res
+def evar(y):
+ """Noise variance estimation. Assuming that the deterministic function Y
+ has additive Gaussian noise, EVAR(Y) returns an estimated variance of this
+ noise.
+
+ Note:
+ ----
+ A thin-plate smoothing spline model is used to smooth Y. It is assumed
+ that the model whose generalized cross-validation score is minimum can
+ provide the variance of the additive noise. A few tests showed that
+ EVAR works very well with "not too irregular" functions.
+
+ Examples:
+ --------
+ 1D signal
+ >>> n = 1e6
+ >>> x = np.linspace(0,100,n);
+ >>> y = np.cos(x/10)+(x/50)
+ >>> var0 = 0.02 # noise variance
+ >>> yn = y + sqrt(var0)*np.random.randn(*y.shape)
+ >>> s = evar(yn) # estimated variance
+ >>> np.abs(s-var0)/var0 < 3.5/np.sqrt(n)
+ True
+
+ 2D function
+ >>> xp = np.linspace(0,1,50)
+ >>> x, y = np.meshgrid(xp,xp)
+ >>> f = np.exp(x+y) + np.sin((x-2*y)*3)
+ >>> var0 = 0.04 # noise variance
+ >>> fn = f + sqrt(var0)*np.random.randn(*f.shape)
+ >>> s = evar(fn) # estimated variance
+ >>> np.abs(s-var0)/var0 < 3.5/np.sqrt(50)
+ True
+
+ 3D function
+ >>> yp = np.linspace(-2,2,50)
+ >>> [x,y,z] = meshgrid(yp,yp,yp, sparse=True)
+ >>> f = x*exp(-x**2-y**2-z**2)
+ >>> var0 = 0.5 # noise variance
+ >>> fn = f + sqrt(var0)*np.random.randn(*f.shape)
+ >>> s = evar(fn) # estimated variance
+ >>> np.abs(s-var0)/var0 < 3.5/np.sqrt(50)
+ True
+
+ Other example
+ -------------
+ http://www.biomecardio.com/matlab/evar.html
+
+ Note:
+ ----
+ EVAR is only adapted to evenly-gridded 1-D to N-D data.
+
+ See also
+ --------
+ VAR, STD, SMOOTHN
+
+ """
+
+ # Damien Garcia -- 2008/04, revised 2009/10
+ y = np.atleast_1d(y)
+ d = y.ndim
+ sh0 = y.shape
+
+ S = np.zeros(sh0)
+ sh1 = np.ones((d,))
+ cos = np.cos
+ pi = np.pi
+ for i in range(d):
+ ni = sh0[i]
+ sh1[i] = ni
+ t = np.arange(ni).reshape(sh1) / ni
+ S += cos(pi * t)
+ sh1[i] = 1
+
+ S2 = 2 * (d - S).ravel()
+ # N-D Discrete Cosine Transform of Y
+ dcty2 = dctn(y).ravel() ** 2
+
+ def score_fun(L, S2, dcty2):
+ # Generalized cross validation score
+ M = 1 - 1. / (1 + 10 ** L * S2)
+ noisevar = (dcty2 * M ** 2).mean()
+ return noisevar / M.mean() ** 2
+ # fun = lambda x : score_fun(x, S2, dcty2)
+ Lopt = optimize.fminbound(score_fun, -38, 38, args=(S2, dcty2))
+ M = 1.0 - 1.0 / (1 + 10 ** Lopt * S2)
+ noisevar = (dcty2 * M ** 2).mean()
+ return noisevar
+
+
+def smoothn(data, s=None, weight=None, robust=False, z0=None, tolz=1e-3,
+ maxiter=100, fulloutput=False):
+ '''
+ SMOOTHN fast and robust spline smoothing for 1-D to N-D data.
+
+ Parameters
+ ----------
+ data : array like
+ uniformly-sampled data array to smooth. Non finite values (NaN or Inf)
+ are treated as missing values.
+ s : real positive scalar
+ smooting parameter. The larger S is, the smoother the output will be.
+ Default value is automatically determined using the generalized
+ cross-validation (GCV) method.
+ weight : string or array weights
+ weighting array of real positive values, that must have the same size
+ as DATA. Note that a zero weight corresponds to a missing value.
+ robust : bool
+ If true carry out a robust smoothing that minimizes the influence of
+ outlying data.
+ tolz : real positive scalar
+ Termination tolerance on Z (default = 1e-3)
+ maxiter : scalar integer
+ Maximum number of iterations allowed (default = 100)
+ z0 : array-like
+ Initial value for the iterative process (default = original data)
+
+ Returns
+ -------
+ z : array like
+ smoothed data
+
+ To be made
+ ----------
+ Estimate the confidence bands (see Wahba 1983, Nychka 1988).
+
+ Reference
+ ---------
+ Garcia D, Robust smoothing of gridded data in one and higher dimensions
+ with missing values. Computational Statistics & Data Analysis, 2010.
+ http://www.biomecardio.com/pageshtm/publi/csda10.pdf
+
+ Examples:
+ --------
+
+ 1-D example
+ >>> import matplotlib.pyplot as plt
+ >>> x = np.linspace(0,100,2**8)
+ >>> y = np.cos(x/10)+(x/50)**2 + np.random.randn(*x.shape)/10
+ >>> y[np.r_[70, 75, 80]] = np.array([5.5, 5, 6])
+ >>> z = smoothn(y) # Regular smoothing
+ >>> zr = smoothn(y,robust=True) # Robust smoothing
+ >>> h=plt.subplot(121),
+ >>> h = plt.plot(x,y,'r.',x,z,'k',linewidth=2)
+ >>> h=plt.title('Regular smoothing')
+ >>> h=plt.subplot(122)
+ >>> h=plt.plot(x,y,'r.',x,zr,'k',linewidth=2)
+ >>> h=plt.title('Robust smoothing')
+
+ 2-D example
+ >>> xp = np.r_[0:1:.02]
+ >>> [x,y] = np.meshgrid(xp,xp)
+ >>> f = np.exp(x+y) + np.sin((x-2*y)*3);
+ >>> fn = f + np.random.randn(*f.shape)*0.5;
+ >>> fs = smoothn(fn);
+ >>> h=plt.subplot(121),
+ >>> h=plt.contourf(xp,xp,fn)
+ >>> h=plt.subplot(122)
+ >>> h=plt.contourf(xp,xp,fs)
+
+ 2-D example with missing data
+ n = 256;
+ y0 = peaks(n);
+ y = y0 + rand(size(y0))*2;
+ I = randperm(n^2);
+ y(I(1:n^2*0.5)) = NaN; lose 1/2 of data
+ y(40:90,140:190) = NaN; create a hole
+ z = smoothn(y); smooth data
+ subplot(2,2,1:2), imagesc(y), axis equal off
+ title('Noisy corrupt data')
+ subplot(223), imagesc(z), axis equal off
+ title('Recovered data ...')
+ subplot(224), imagesc(y0), axis equal off
+ title('... compared with original data')
+
+ 3-D example
+ [x,y,z] = meshgrid(-2:.2:2);
+ xslice = [-0.8,1]; yslice = 2; zslice = [-2,0];
+ vn = x.*exp(-x.^2-y.^2-z.^2) + randn(size(x))*0.06;
+ subplot(121), slice(x,y,z,vn,xslice,yslice,zslice,'cubic')
+ title('Noisy data')
+ v = smoothn(vn);
+ subplot(122), slice(x,y,z,v,xslice,yslice,zslice,'cubic')
+ title('Smoothed data')
+
+ Cardioid
+
+ t = linspace(0,2*pi,1000);
+ x = 2*cos(t).*(1-cos(t)) + randn(size(t))*0.1;
+ y = 2*sin(t).*(1-cos(t)) + randn(size(t))*0.1;
+ z = smoothn(complex(x,y));
+ plot(x,y,'r.',real(z),imag(z),'k','linewidth',2)
+ axis equal tight
+
+ Cellular vortical flow
+ [x,y] = meshgrid(linspace(0,1,24));
+ Vx = cos(2*pi*x+pi/2).*cos(2*pi*y);
+ Vy = sin(2*pi*x+pi/2).*sin(2*pi*y);
+ Vx = Vx + sqrt(0.05)*randn(24,24); adding Gaussian noise
+ Vy = Vy + sqrt(0.05)*randn(24,24); adding Gaussian noise
+ I = randperm(numel(Vx));
+ Vx(I(1:30)) = (rand(30,1)-0.5)*5; adding outliers
+ Vy(I(1:30)) = (rand(30,1)-0.5)*5; adding outliers
+ Vx(I(31:60)) = NaN; missing values
+ Vy(I(31:60)) = NaN; missing values
+ Vs = smoothn(complex(Vx,Vy),'robust'); automatic smoothing
+ subplot(121), quiver(x,y,Vx,Vy,2.5), axis square
+ title('Noisy velocity field')
+ subplot(122), quiver(x,y,real(Vs),imag(Vs)), axis square
+ title('Smoothed velocity field')
+
+ See also SMOOTH, SMOOTH3, DCTN, IDCTN.
+
+ -- Damien Garcia -- 2009/03, revised 2010/11
+ Visit
+ http://www.biomecardio.com/matlab/smoothn.html
+ for more details about SMOOTHN
+ '''
+
+ y = np.atleast_1d(data)
+ sizy = y.shape
+ noe = y.size
+ if noe < 2:
+ return data
+
+ weightstr = 'bisquare'
+ W = np.ones(sizy)
+ # Smoothness parameter and weights
+ if weight is None:
+ pass
+ elif isinstance(weight, str):
+ weightstr = weight.lower()
+ else:
+ W = weight
+
+ # Weights. Zero weights are assigned to not finite values (Inf or NaN),
+ # (Inf/NaN values = missing data).
+ IsFinite = np.isfinite(y)
+ nof = IsFinite.sum() # number of finite elements
+ W = W * IsFinite
+ if (W < 0).any():
+ raise ValueError('Weights must all be >=0')
+ else:
+ W = W / W.max()
+
+ isweighted = (W < 1).any() # Weighted or missing data?
+ isauto = s is None # Automatic smoothing?
+ # Creation of the Lambda tensor
+ # Lambda contains the eingenvalues of the difference matrix used in this
+ # penalized least squares process.
+ d = y.ndim
+ Lambda = np.zeros(sizy)
+ siz0 = [1, ] * d
+ for i in range(d):
+ siz0[i] = sizy[i]
+ Lambda = Lambda + \
+ np.cos(pi * np.arange(sizy[i]) / sizy[i]).reshape(siz0)
+ siz0[i] = 1
+
+ Lambda = -2 * (d - Lambda)
+ if not isauto:
+ Gamma = 1. / (1 + s * Lambda ** 2)
+
+ # Upper and lower bound for the smoothness parameter
+ # The average leverage (h) is by definition in [0 1]. Weak smoothing occurs
+ # if h is close to 1, while over-smoothing appears when h is near 0. Upper
+ # and lower bounds for h are given to avoid under- or over-smoothing. See
+ # equation relating h to the smoothness parameter (Equation #12 in the
+ # referenced CSDA paper).
+ N = (np.array(sizy) != 1).sum() # tensor rank of the y-array
+ hMin = 1e-6
+ hMax = 0.99
+ sMinBnd = (((1 + sqrt(1 + 8 * hMax ** (2. / N))) / 4. /
+ hMax ** (2. / N)) ** 2 - 1) / 16
+ sMaxBnd = (((1 + sqrt(1 + 8 * hMin ** (2. / N))) / 4. /
+ hMin ** (2. / N)) ** 2 - 1) / 16
+
+ # Initialize before iterating
+
+ Wtot = W
+ # Initial conditions for z
+ if isweighted:
+ # With weighted/missing data
+ # An initial guess is provided to ensure faster convergence. For that
+ # purpose, a nearest neighbor interpolation followed by a coarse
+ # smoothing are performed.
+
+ if z0 is None:
+ z = InitialGuess(y, IsFinite)
+ else:
+ # an initial guess (z0) has been provided
+ z = z0
+ else:
+ z = np.zeros(sizy)
+ z0 = z
+ y[~IsFinite] = 0 # arbitrary values for missing y-data
+
+ tol = 1
+ RobustIterativeProcess = True
+ RobustStep = 1
+
+ # Error on p. Smoothness parameter s = 10^p
+ errp = 0.1
+
+ # Relaxation factor RF: to speedup convergence
+ RF = 1.75 if isweighted else 1.0
+
+ norm = linalg.norm
+ # Main iterative process
+ while RobustIterativeProcess:
+ # "amount" of weights (see the function GCVscore)
+ aow = Wtot.sum() / noe # 0 < aow <= 1
+ exitflag = True
+ for nit in range(1, maxiter + 1):
+ DCTy = dctn(Wtot * (y - z) + z)
+ if isauto and not np.remainder(np.log2(nit), 1):
+
+ # The generalized cross-validation (GCV) method is used.
+ # We seek the smoothing parameter s that minimizes the GCV
+ # score i.e. s = Argmin(GCVscore).
+ # Because this process is time-consuming, it is performed from
+ # time to time (when nit is a power of 2)
+ log10s = optimize.fminbound(
+ gcv, np.log10(sMinBnd), np.log10(sMaxBnd),
+ args=(aow, Lambda, DCTy, y, Wtot, IsFinite, nof, noe),
+ xtol=errp, full_output=False, disp=False)
+ s = 10 ** log10s
+ Gamma = 1.0 / (1 + s * Lambda ** 2)
+ z = RF * idctn(Gamma * DCTy) + (1 - RF) * z
+
+ # if no weighted/missing data => tol=0 (no iteration)
+ tol = norm(z0.ravel() - z.ravel()) / norm(
+ z.ravel()) if isweighted else 0.0
+ if tol <= tolz:
+ break
+ z0 = z # re-initialization
+ else:
+ exitflag = False # nit 0.9: # aow = 1 means that all of the data are equally weighted
+ # very much faster: does not require any inverse DCT
+ RSS = linalg.norm(DCTy.ravel() * (Gamma.ravel() - 1)) ** 2
+ else:
+ # take account of the weights to calculate RSS:
+ yhat = idctn(Gamma * DCTy)
+ RSS = linalg.norm(sqrt(Wtot[IsFinite]) *
+ (y[IsFinite] - yhat[IsFinite])) ** 2
+
+ TrH = Gamma.sum()
+ GCVscore = RSS / nof / (1.0 - TrH / noe) ** 2
+ return GCVscore
+
+
+# Robust weights
+def RobustWeights(r, I, h, wstr):
+ # weights for robust smoothing.
+ MAD = np.median(abs(r[I] - np.median(r[I]))) # median absolute deviation
+ u = abs(r / (1.4826 * MAD) / sqrt(1 - h)) # studentized residuals
+ if wstr == 'cauchy':
+ c = 2.385
+ W = 1. / (1 + (u / c) ** 2) # Cauchy weights
+ elif wstr == 'talworth':
+ c = 2.795
+ W = u < c # Talworth weights
+ else: # bisquare weights
+ c = 4.685
+ W = (1 - (u / c) ** 2) ** 2 * ((u / c) < 1)
+
+ W[np.isnan(W)] = 0
+ return W
+
+
+def InitialGuess(y, I):
+ # Initial Guess with weighted/missing data
+ # nearest neighbor interpolation (in case of missing values)
+ z = y
+ if (1 - I).any():
+ notI = ~I
+ z, L = distance_transform_edt(notI, return_indices=True)
+ z[notI] = y[L.flat[notI]]
+
+ # coarse fast smoothing using one-tenth of the DCT coefficients
+ siz = z.shape
+ d = z.ndim
+ z = dctn(z)
+ for k in range(d):
+ z[int((siz[k] + 0.5) / 10) + 1::, ...] = 0
+ z = z.reshape(np.roll(siz, -k))
+ z = z.transpose(np.roll(range(z.ndim), -1))
+ # z = shiftdim(z,1);
+ z = idctn(z)
+
+ return z
+
+
+def test_smoothn_1d():
+ x = np.linspace(0, 100, 2 ** 8)
+ y = np.cos(x / 10) + (x / 50) ** 2 + np.random.randn(x.size) / 10
+ y[np.r_[70, 75, 80]] = np.array([5.5, 5, 6])
+ z = smoothn(y) # Regular smoothing
+ zr = smoothn(y, robust=True) # Robust smoothing
+ plt.subplot(121),
+ unused_h = plt.plot(x, y, 'r.', x, z, 'k', linewidth=2)
+ plt.title('Regular smoothing')
+ plt.subplot(122)
+ plt.plot(x, y, 'r.', x, zr, 'k', linewidth=2)
+ plt.title('Robust smoothing')
+ plt.show('hold')
+
+
+def test_smoothn_2d():
+
+ # import mayavi.mlab as plt
+ xp = np.r_[0:1:.02]
+ [x, y] = np.meshgrid(xp, xp)
+ f = np.exp(x + y) + np.sin((x - 2 * y) * 3)
+ fn = f + np.random.randn(*f.shape) * 0.5
+ fs, s = smoothn(fn, fulloutput=True) # @UnusedVariable
+ fs2 = smoothn(fn, s=2 * s)
+ plt.subplot(131),
+ plt.contourf(xp, xp, fn)
+ plt.subplot(132),
+ plt.contourf(xp, xp, fs2)
+ plt.subplot(133),
+ plt.contourf(xp, xp, f)
+ plt.show('hold')
+
+
+def test_smoothn_cardioid():
+ t = np.linspace(0, 2 * pi, 1000)
+ cos = np.cos
+ sin = np.sin
+ randn = np.random.randn
+ x0 = 2 * cos(t) * (1 - cos(t))
+ x = x0 + randn(t.size) * 0.1
+ y0 = 2 * sin(t) * (1 - cos(t))
+ y = y0 + randn(t.size) * 0.1
+ z = smoothn(x + 1j * y, robust=False)
+ plt.plot(x0, y0, 'y',
+ x, y, 'r.',
+ z.real, z.imag, 'k', linewidth=2)
+ plt.show('hold')
+
+
class HodrickPrescott(object):
'''Smooth data with a Hodrick-Prescott filter.
@@ -445,7 +934,7 @@ class Kalman(object):
H = self.H
PHT = np.dot(P, H.T)
innovation_covariance = np.dot(H, PHT) + self.R
- #return np.linalg.solve(PHT, innovation_covariance)
+ # return np.linalg.solve(PHT, innovation_covariance)
return np.dot(PHT, np.linalg.inv(innovation_covariance))
def _update_state_from_observation(self, x, z, K):
@@ -491,7 +980,6 @@ def test_kalman():
for i, zi in enumerate(z):
x[i] = filt(zi, u) # perform a Kalman filter iteration
- import matplotlib.pyplot as plt
_hz = plt.plot(z, 'r.', label='observations')
# a-posteriori state estimates:
_hx = plt.plot(x, 'b-', label='Kalman output')
@@ -502,8 +990,7 @@ def test_kalman():
def lti_disc(F, L=None, Q=None, dt=1):
- '''
- LTI_DISC Discretize LTI ODE with Gaussian Noise
+ """LTI_DISC Discretize LTI ODE with Gaussian Noise.
Syntax:
[A,Q] = lti_disc(F,L,Qc,dt)
@@ -531,7 +1018,8 @@ def lti_disc(F, L=None, Q=None, dt=1):
Which can be used for integrating the model
exactly over time steps, which are multiples
of dt.
- '''
+
+ """
n = np.shape(F)[0]
if L is None:
L = np.eye(n)
@@ -547,13 +1035,13 @@ def lti_disc(F, L=None, Q=None, dt=1):
Phi = np.vstack((np.hstack((F, np.dot(np.dot(L, Q), L.T))),
np.hstack((np.zeros((n, n)), -F.T))))
AB = np.dot(expm(Phi * dt), np.vstack((np.zeros((n, n)), np.eye(n))))
- #Q = AB[:n, :] / AB[n:(2 * n), :]
+ # Q = AB[:n, :] / AB[n:(2 * n), :]
Q = np.linalg.solve(AB[n:(2 * n), :].T, AB[:n, :].T)
return A, Q
def test_kalman_sine():
- '''Kalman Filter demonstration with sine signal.'''
+ """Kalman Filter demonstration with sine signal."""
sd = 1.
dt = 0.1
w = 1
@@ -578,17 +1066,17 @@ def test_kalman_sine():
# Track and animate
m = M.shape[0]
- MM = np.zeros((m, n))
- PP = np.zeros((m, m, n))
+ _MM = np.zeros((m, n))
+ _PP = np.zeros((m, m, n))
'''In this demonstration we estimate a stationary sine signal from noisy
measurements by using the classical Kalman filter.'
'''
filt = Kalman(R=R, x=M, P=P, A=A, Q=Q, H=H, B=0)
# Generate random voltages and watch the filter operate.
- #n = 50
- #truth = np.random.randn(n) * np.sqrt(q) + V0
- #z = truth + np.random.randn(n) * np.sqrt(r) # measurement
+ # n = 50
+ # truth = np.random.randn(n) * np.sqrt(q) + V0
+ # z = truth + np.random.randn(n) * np.sqrt(r) # measurement
truth = X
z = Y
x = np.zeros((n, m))
@@ -596,7 +1084,6 @@ def test_kalman_sine():
for i, zi in enumerate(z):
x[i] = filt(zi, u=0).ravel()
- import matplotlib.pyplot as plt
_hz = plt.plot(z, 'r.', label='observations')
# a-posteriori state estimates:
_hx = plt.plot(x[:, 0], 'b-', label='Kalman output')
@@ -620,7 +1107,8 @@ def test_kalman_sine():
# T,Y,'ro',...
# T(k),M(1),'k*',...
# T(1:k),MM(1,1:k),'k-');
-# legend('Real signal','Measurements','Latest estimate','Filtered estimate')
+# legend('Real signal','Measurements','Latest estimate',
+# 'Filtered estimate')
# title('Estimating a noisy sine signal with Kalman filter.');
# drawnow;
#
@@ -629,9 +1117,11 @@ def test_kalman_sine():
# end
#
# clc;
-# disp('In this demonstration we estimate a stationary sine signal from noisy measurements by using the classical Kalman filter.');
+# disp('In this demonstration we estimate a stationary sine signal '
+# 'from noisy measurements by using the classical Kalman filter.');
# disp(' ');
-# disp('The filtering results are now displayed sequantially for 10 time step at a time.');
+# disp('The filtering results are now displayed sequantially for 10 time '
+# 'step at a time.');
# disp(' ');
# disp('')
# pause;
@@ -642,11 +1132,12 @@ def test_kalman_sine():
# plot(T,X,'b--',...
# T,MM(1,:),'k-',...
# T,SM(1,:),'r-');
-# legend('Real signal','Filtered estimate','Smoothed estimate')
+# legend('Real signal','Filtered estimate','Smoothed estimate')
# title('Filtered and smoothed estimate of the original signal');
-#
+#
# clc;
-# disp('The filtered and smoothed estimates of the signal are now displayed.')
+# disp('The filtered and smoothed estimates of the signal are now '
+# 'displayed.')
# disp(' ');
# disp('RMS errors:');
# %
@@ -658,8 +1149,7 @@ def test_kalman_sine():
class HampelFilter(object):
- '''
- Hampel Filter.
+ """Hampel Filter.
HAMPEL(X,Y,DX,T,varargin) returns the Hampel filtered values of the
elements in Y. It was developed to detect outliers in a time series,
@@ -718,7 +1208,8 @@ class HampelFilter(object):
window filters. Please visit his blog at:
http://exploringdatablog.blogspot.com/2012/01/moving-window-filters-and
-pracma.html
- '''
+
+ """
def __init__(self, dx=None, t=3, adaptive=None, fulloutput=False):
self.dx = dx
self.t = t
@@ -790,7 +1281,7 @@ class HampelFilter(object):
Y0 = smgauss(X, Y0, DX)
T = self.t
- ## Prepare Output
+ # Prepare Output
self.UB = Y0 + T * S0
self.LB = Y0 - T * S0
outliers = np.abs(Y - Y0) > T * S0 # possible outliers
@@ -806,7 +1297,6 @@ class HampelFilter(object):
def test_hampel():
- import matplotlib.pyplot as plt
randint = np.random.randint
Y = 5000 + np.random.randn(1000)
outliers = randint(0, 1000, size=(10,))
@@ -827,7 +1317,6 @@ def test_hampel():
def plot_hampel(Y, YY, res):
- import matplotlib.pyplot as plt
X = np.arange(len(YY))
plt.plot(X, Y, 'b.') # Original Data
plt.plot(X, YY, 'r') # Hampel Filtered Data
@@ -836,14 +1325,14 @@ def plot_hampel(Y, YY, res):
plt.plot(X, res['UB'], 'r--') # Upper Bounds on Hampel Filter
i = res['outliers']
plt.plot(X[i], Y[i], 'ks') # Identified Outliers
- #plt.show('hold')
+ # plt.show('hold')
def test_tide_filter():
-# import statsmodels.api as sa
+ # import statsmodels.api as sa
import wafo.spectrum.models as sm
sd = 10
- Sj = sm.Jonswap(Hm0=4.* sd)
+ Sj = sm.Jonswap(Hm0=4.*sd)
S = Sj.tospecdata()
q = (0.1 * sd) ** 2 # variance of process noise s the car operates
@@ -851,7 +1340,7 @@ def test_tide_filter():
b = 0 # no system input
u = 0 # no system input
- from scipy.signal import butter, lfilter, filtfilt, lfilter_zi
+ from scipy.signal import butter, filtfilt, lfilter_zi # lfilter,
freq_tide = 1. / (12 * 60 * 60)
freq_wave = 1. / 10
freq_filt = freq_wave / 10
@@ -859,7 +1348,7 @@ def test_tide_filter():
freq = 1. / dt
fn = (freq / 2)
- P = 10* np.diag([1, 0.01])
+ P = 10 * np.diag([1, 0.01])
R = r
H = np.atleast_2d([1, 0])
@@ -876,19 +1365,21 @@ def test_tide_filter():
filt = Kalman(R=R, x=np.array([[tide[0]], [0]]), P=P, A=A, Q=Q, H=H, B=b)
filt2 = Kalman(R=R, x=np.array([[tide[0]], [0]]), P=P, A=A, Q=Q, H=H, B=b)
- #y = tide + 0.5 * np.sin(freq_wave * w * t)
+ # y = tide + 0.5 * np.sin(freq_wave * w * t)
# Butterworth filter
b, a = butter(9, (freq_filt / fn), btype='low')
- #y2 = [lowess(y[max(i-60,0):i + 1], t[max(i-60,0):i + 1], frac=.3)[-1,1] for i in range(len(y))]
- #y2 = [lfilter(b, a, y[:i + 1])[i] for i in range(len(y))]
- #y3 = filtfilt(b, a, y[:16]).tolist() + [filtfilt(b, a, y[:i + 1])[i] for i in range(16, len(y))]
- #y0 = medfilt(y, 41)
- zi = lfilter_zi(b, a)
- #y2 = lfilter(b, a, y)#, zi=y[0]*zi) # standard filter
+ # y2 = [lowess(y[max(i-60,0):i + 1], t[max(i-60,0):i + 1], frac=.3)[-1,1]
+ # for i in range(len(y))]
+ # y2 = [lfilter(b, a, y[:i + 1])[i] for i in range(len(y))]
+ # y3 = filtfilt(b, a, y[:16]).tolist() + [filtfilt(b, a, y[:i + 1])[i]
+ # for i in range(16, len(y))]
+ # y0 = medfilt(y, 41)
+ _zi = lfilter_zi(b, a)
+ # y2 = lfilter(b, a, y)#, zi=y[0]*zi) # standard filter
y3 = filtfilt(b, a, y) # filter with phase shift correction
- y4 =[]
+ y4 = []
y5 = []
- for i, j in enumerate(y):
+ for _i, j in enumerate(y):
tmp = filt(j, u=u).ravel()
tmp = filt2(tmp[0], u=u).ravel()
# if i==0:
@@ -896,16 +1387,16 @@ def test_tide_filter():
# print(filt2.x)
y4.append(tmp[0])
y5.append(tmp[1])
- y0 = medfilt(y4, 41)
+ _y0 = medfilt(y4, 41)
print(filt.P)
# plot
- import matplotlib.pyplot as plt
+
plt.plot(t, y, 'r.-', linewidth=2, label='raw data')
- #plt.plot(t, y2, 'b.-', linewidth=2, label='lowess @ %g Hz' % freq_filt)
- #plt.plot(t, y2, 'b.-', linewidth=2, label='filter @ %g Hz' % freq_filt)
+ # plt.plot(t, y2, 'b.-', linewidth=2, label='lowess @ %g Hz' % freq_filt)
+ # plt.plot(t, y2, 'b.-', linewidth=2, label='filter @ %g Hz' % freq_filt)
plt.plot(t, y3, 'g.-', linewidth=2, label='filtfilt @ %g Hz' % freq_filt)
plt.plot(t, y4, 'k.-', linewidth=2, label='kalman')
- #plt.plot(t, y5, 'k.', linewidth=2, label='kalman2')
+ # plt.plot(t, y5, 'k.', linewidth=2, label='kalman2')
plt.plot(t, tide, 'y-', linewidth=2, label='True tide')
plt.legend(frameon=False, fontsize=14)
plt.xlabel("Time [s]")
@@ -914,14 +1405,31 @@ def test_tide_filter():
def test_smooth():
- import matplotlib.pyplot as plt
t = np.linspace(-4, 4, 500)
y = np.exp(-t ** 2) + np.random.normal(0, 0.05, t.shape)
- coeff = calc_coeff(n=0, degree=0, diff_order=0)
- ysg = smooth(y, coeff, pad=True)
+ n = 11
+ ysg = SavitzkyGolay(n, degree=1, diff_order=0)(y)
plt.plot(t, y, t, ysg, '--')
- plt.show()
+ plt.show('hold')
+
+
+def test_hodrick_cardioid():
+ t = np.linspace(0, 2 * np.pi, 1000)
+ cos = np.cos
+ sin = np.sin
+ randn = np.random.randn
+ x0 = 2 * cos(t) * (1 - cos(t))
+ x = x0 + randn(t.size) * 0.1
+ y0 = 2 * sin(t) * (1 - cos(t))
+ y = y0 + randn(t.size) * 0.1
+ smooth = HodrickPrescott(w=20000)
+ # smooth = HampelFilter(adaptive=50)
+ z = smooth(x) + 1j * smooth(y)
+ plt.plot(x0, y0, 'y',
+ x, y, 'r.',
+ z.real, z.imag, 'k', linewidth=2)
+ plt.show('hold')
def test_docstrings():
@@ -930,9 +1438,12 @@ def test_docstrings():
doctest.testmod(optionflags=doctest.NORMALIZE_WHITESPACE)
if __name__ == '__main__':
- #test_kalman_sine()
- test_tide_filter()
- #test_docstrings()
- #test_hampel()
- #test_kalman()
+ test_docstrings()
+ # test_kalman_sine()
+ # test_tide_filter()
+ # test_hampel()
+ # test_kalman()
# test_smooth()
+ # test_hodrick_cardioid()
+ test_smoothn_1d()
+ # test_smoothn_cardioid()
diff --git a/pywafo/src/wafo/source/c_codes/c_library.pyd b/pywafo/src/wafo/source/c_codes/c_library.pyd
index cce893d..57f0ea8 100644
Binary files a/pywafo/src/wafo/source/c_codes/c_library.pyd and b/pywafo/src/wafo/source/c_codes/c_library.pyd differ
diff --git a/pywafo/src/wafo/source/mreg/checkmod.mod b/pywafo/src/wafo/source/mreg/checkmod.mod
index 35817c8..0515a80 100644
--- a/pywafo/src/wafo/source/mreg/checkmod.mod
+++ b/pywafo/src/wafo/source/mreg/checkmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mregmodule.f on Tue Mar 27 09:05:04 2012
-MD5:fe57607d30a725f711d7629678581d81 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mregmodule.f
+MD5:d9cc3708c49161cf45724d686af16cf0 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,33 +14,39 @@ MD5:fe57607d30a725f711d7629678581d81 -- If you edit this, you'll get what you de
()
-(2 'checkmod' 'checkmod' 'checkmod' 1 ((MODULE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0
-() () () 0 0)
-3 'iii0' 'checkmod' 'iii0' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-4 'iii01' 'checkmod' 'iii01' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-5 'iii101' 'checkmod' 'iii101' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-6 'iii11' 'checkmod' 'iii11' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-7 'iii21' 'checkmod' 'iii21' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-8 'iii31' 'checkmod' 'iii31' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-9 'iii41' 'checkmod' 'iii41' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-10 'iii51' 'checkmod' 'iii51' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-11 'iii61' 'checkmod' 'iii61' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-12 'iii71' 'checkmod' 'iii71' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-13 'iii81' 'checkmod' 'iii81' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-14 'iii91' 'checkmod' 'iii91' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+(2 'checkmod' 'checkmod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0
+0)
+3 'iii0' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+4 'iii01' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+5 'iii101' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+6 'iii11' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+7 'iii21' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+8 'iii31' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+9 'iii41' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+10 'iii51' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+11 'iii61' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+12 'iii71' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+13 'iii81' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+14 'iii91' 'checkmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
)
('checkmod' 0 2 'iii0' 0 3 'iii01' 0 4 'iii101' 0 5 'iii11' 0 6 'iii21'
diff --git a/pywafo/src/wafo/source/mreg/epsmod.mod b/pywafo/src/wafo/source/mreg/epsmod.mod
index c5464d1..e6f3d3b 100644
--- a/pywafo/src/wafo/source/mreg/epsmod.mod
+++ b/pywafo/src/wafo/source/mreg/epsmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mregmodule.f on Tue Mar 27 09:05:04 2012
-MD5:deb744d8baea0ddd5fc5faf9be58df7e -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mregmodule.f
+MD5:6ae09751c5b336ec35eb71534e46a563 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,14 +14,14 @@ MD5:deb744d8baea0ddd5fc5faf9be58df7e -- If you edit this, you'll get what you de
()
-(2 'eps' 'epsmod' 'eps' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-3 'eps0' 'epsmod' 'eps0' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-4 'epsmod' 'epsmod' 'epsmod' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
-5 'epss' 'epsmod' 'epss' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+(2 'eps' 'epsmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+3 'eps0' 'epsmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+4 'epsmod' 'epsmod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+5 'epss' 'epsmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
)
('eps' 0 2 'eps0' 0 3 'epsmod' 0 4 'epss' 0 5)
diff --git a/pywafo/src/wafo/source/mreg/expaccmod.mod b/pywafo/src/wafo/source/mreg/expaccmod.mod
index 507d155..6d17560 100644
--- a/pywafo/src/wafo/source/mreg/expaccmod.mod
+++ b/pywafo/src/wafo/source/mreg/expaccmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mregmodule.f on Tue Mar 27 09:05:04 2012
-MD5:d82385a3a446da945f345d09302f933e -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mregmodule.f
+MD5:4fddbcea71fd92bd3345281bbf49e6eb -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,12 +14,12 @@ MD5:d82385a3a446da945f345d09302f933e -- If you edit this, you'll get what you de
()
-(2 'expaccmod' 'expaccmod' 'expaccmod' 1 ((MODULE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0
-() () () 0 0)
-3 'pmax' 'expaccmod' 'pmax' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (CONSTANT (REAL 8
-0 0 REAL ()) 0 '0.28000000000000@2') () 0 () () () 0 0)
+(2 'expaccmod' 'expaccmod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0
+0)
+3 'pmax' 'expaccmod' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.28000000000000@2') () 0 () () () 0 0)
)
('expaccmod' 0 2 'pmax' 0 3)
diff --git a/pywafo/src/wafo/source/mreg/infcmod.mod b/pywafo/src/wafo/source/mreg/infcmod.mod
index d009be0..0683ccc 100644
--- a/pywafo/src/wafo/source/mreg/infcmod.mod
+++ b/pywafo/src/wafo/source/mreg/infcmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mregmodule.f on Tue Mar 27 09:05:04 2012
-MD5:5dadee8498f04fe7df773933dace020d -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mregmodule.f
+MD5:88b29dedfc036f5dd0339afd03f086f2 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,21 +14,20 @@ MD5:5dadee8498f04fe7df773933dace020d -- If you edit this, you'll get what you de
()
-(2 'iac' 'infcmod' 'iac' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
-() 0 0)
-3 'inf' 'infcmod' 'inf' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0
-INTEGER ()) 0 '10')) 0 () () () 0 0)
-4 'infcmod' 'infcmod' 'infcmod' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
-5 'info' 'infcmod' 'info' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1
-EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER
-4 0 0 INTEGER ()) 0 '10')) 0 () () () 0 0)
-6 'isq' 'infcmod' 'isq' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+(2 'iac' 'infcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+3 'inf' 'infcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '10')) 0 () () () 0 0)
+4 'infcmod' 'infcmod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+5 'info' 'infcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '10')) 0 () () () 0 0)
+6 'isq' 'infcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
)
('iac' 0 2 'inf' 0 3 'infcmod' 0 4 'info' 0 5 'isq' 0 6)
diff --git a/pywafo/src/wafo/source/mreg/mregmod.mod b/pywafo/src/wafo/source/mreg/mregmod.mod
index b02f3b9..283448f 100644
--- a/pywafo/src/wafo/source/mreg/mregmod.mod
+++ b/pywafo/src/wafo/source/mreg/mregmod.mod
@@ -1,12 +1,12 @@
-GFORTRAN module version '4' created from mregmodule.f on Fri Apr 05 14:43:22 2013
-MD5:c1cf222ca4db814a5038de74f7d5b48e -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mregmodule.f
+MD5:c0ff9d5617455613bb8b25284c401293 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
()
-(('fi' 'mregmod' 2) ('rind' 'mregmod' 3) ('mreg' 'mregmod' 4))
+(('fi' 'mregmod' 2) ('mreg' 'mregmod' 3) ('rind' 'mregmod' 4))
()
@@ -14,86 +14,86 @@ MD5:c1cf222ca4db814a5038de74f7d5b48e -- If you edit this, you'll get what you de
()
-(2 'fi' 'mregmod' 'fi' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 5 0 (6) () 2 () () ()
-0 0)
-4 'mreg' 'mregmod' 'mreg' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN ()) 7 0 (8 9 10
+(2 'fi' 'mregmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC IMPLICIT_PURE) (REAL 8 0 0 0 REAL ()) 5 0 (
+6) () 2 () () () 0 0)
+3 'mreg' 'mregmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 7 0 (8 9 10
11 12 13 14 15 16 17 18 19 20) () 0 () () () 0 0)
-3 'rind' 'mregmod' 'rind' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN ()) 21 0 (22 23
+4 'rind' 'mregmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 21 0 (22 23
24 25 26 27 28 29 30 31) () 0 () () () 0 0)
-22 'xind' '' 'xind' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-23 'r' '' 'r' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'40401')) 0 () () () 0 0)
-24 'bu' '' 'bu' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'201')) 0 () () () 0 0)
-28 'vder' '' 'vder' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-29 'nit' '' 'nit' 21 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-30 'n' '' 'n' 21 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-31 'infr' '' 'infr' 21 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-25 'dbun' '' 'dbun' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-26 'db' '' 'db' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'201')) 0 () () () 0 0)
-27 'sq' '' 'sq' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'201')) 0 () () () 0 0)
-6 'xx' '' 'xx' 5 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-8 'f' '' 'f' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 'r' '' 'r' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'40401')) 0 () () () 0 0)
-10 'b' '' 'b' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'201')) 0 () () () 0 0)
-18 'n' '' 'n' 7 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-11 'db' '' 'db' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'201')) 0 () () () 0 0)
-12 'aa' '' 'aa' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'4') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0
-0 INTEGER ()) 0 '4')) 0 () () () 0 0)
-13 'bb' '' 'bb' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'7')) 0 () () () 0 0)
-19 'nit' '' 'nit' 7 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-14 'a' '' 'a' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'1407')) 0 () () () 0 0)
-20 'infr' '' 'infr' 7 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-15 'da' '' 'da' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
-'7')) 0 () () () 0 0)
-16 'vder' '' 'vder' 7 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-17 'm' '' 'm' 7 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+6 'xx' '' '' 5 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+8 'f' '' '' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+9 'r' '' '' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '40401')) 0 () () () 0 0)
+10 'b' '' '' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '201')) 0 () () () 0 0)
+11 'db' '' '' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '201')) 0 () () () 0 0)
+12 'aa' '' '' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '4') (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER
+4 0 0 0 INTEGER ()) 0 '4')) 0 () () () 0 0)
+13 'bb' '' '' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '7')) 0 () () () 0 0)
+14 'a' '' '' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '1407')) 0 () () () 0 0)
+15 'da' '' '' 7 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '7')) 0 () () () 0 0)
+16 'vder' '' '' 7 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+17 'm' '' '' 7 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+18 'n' '' '' 7 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+19 'nit' '' '' 7 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+20 'infr' '' '' 7 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+22 'xind' '' '' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+23 'r' '' '' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '40401')) 0 () () () 0 0)
+24 'bu' '' '' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '201')) 0 () () () 0 0)
+25 'dbun' '' '' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+26 'db' '' '' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '201')) 0 () () () 0 0)
+27 'sq' '' '' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '201')) 0 () () () 0 0)
+28 'vder' '' '' 21 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+29 'nit' '' '' 21 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+30 'n' '' '' 21 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+31 'infr' '' '' 21 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
)
-('fi' 0 2 'mreg' 0 4 'rind' 0 3)
+('fi' 0 2 'mreg' 0 3 'rind' 0 4)
diff --git a/pywafo/src/wafo/source/mreg/quadrmod.mod b/pywafo/src/wafo/source/mreg/quadrmod.mod
index 9b64f55..5bd7c55 100644
--- a/pywafo/src/wafo/source/mreg/quadrmod.mod
+++ b/pywafo/src/wafo/source/mreg/quadrmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mregmodule.f on Tue Mar 27 09:05:04 2012
-MD5:60519873a9b0b44a975f51ae49005353 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mregmodule.f
+MD5:28f744b94fb4ee56c4d53d5079b965d6 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,25 +14,25 @@ MD5:60519873a9b0b44a975f51ae49005353 -- If you edit this, you'll get what you de
()
-(2 'h' 'quadrmod' 'h' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0
+(2 'h' 'quadrmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT
+(CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0
INTEGER ()) 0 '126')) 0 () () () 0 0)
-3 'i' 'quadrmod' 'i' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-4 'nn' 'quadrmod' 'nn' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DIMENSION DATA) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1
-EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER
-4 0 0 INTEGER ()) 0 '25')) 0 () () () 0 0)
-5 'nnw' 'quadrmod' 'nnw' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '13') () 0 () () () 0 0)
-6 'quadrmod' 'quadrmod' 'quadrmod' 1 ((MODULE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0
-() () () 0 0)
-7 'z' 'quadrmod' 'z' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0
+3 'i' 'quadrmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+4 'nn' 'quadrmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION DATA) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (
+1 0 EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '25')) 0 () () () 0 0)
+5 'nnw' 'quadrmod' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '13') () 0 () () () 0 0)
+6 'quadrmod' 'quadrmod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0
+0)
+7 'z' 'quadrmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT
+(CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0
INTEGER ()) 0 '126')) 0 () () () 0 0)
)
diff --git a/pywafo/src/wafo/source/mreg/rintmod.mod b/pywafo/src/wafo/source/mreg/rintmod.mod
index 8dddda2..240a401 100644
--- a/pywafo/src/wafo/source/mreg/rintmod.mod
+++ b/pywafo/src/wafo/source/mreg/rintmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mregmodule.f on Tue Mar 27 09:05:04 2012
-MD5:c272ea8a24ebb29c49c7755fa1ba58fd -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mregmodule.f
+MD5:b066accfa9abc965446066977295c242 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,12 +14,12 @@ MD5:c272ea8a24ebb29c49c7755fa1ba58fd -- If you edit this, you'll get what you de
()
-(2 'c' 'rintmod' 'c' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-EXPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-3 'fc' 'rintmod' 'fc' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-EXPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-4 'rintmod' 'rintmod' 'rintmod' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+(2 'c' 'rintmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+EXPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+3 'fc' 'rintmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+EXPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+4 'rintmod' 'rintmod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
)
('c' 0 2 'fc' 0 3 'rintmod' 0 4)
diff --git a/pywafo/src/wafo/source/mreg/sizemod.mod b/pywafo/src/wafo/source/mreg/sizemod.mod
index 19d0cd5..b0a10ea 100644
--- a/pywafo/src/wafo/source/mreg/sizemod.mod
+++ b/pywafo/src/wafo/source/mreg/sizemod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mregmodule.f on Tue Mar 27 09:05:04 2012
-MD5:9fbc3ee9bf9bf359ed3c3cd78067ab58 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mregmodule.f
+MD5:045224226b5a92ce3fb027e2c0064e27 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,17 +14,17 @@ MD5:9fbc3ee9bf9bf359ed3c3cd78067ab58 -- If you edit this, you'll get what you de
()
-(2 'mmax' 'sizemod' 'mmax' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '6') () 0 () () () 0 0)
-3 'nmax' 'sizemod' 'nmax' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '201') () 0 () () () 0 0)
-4 'rdim' 'sizemod' 'rdim' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '40401') () 0 () () () 0 0)
-5 'sizemod' 'sizemod' 'sizemod' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+(2 'mmax' 'sizemod' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '6') () 0 () () () 0 0)
+3 'nmax' 'sizemod' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '201') () 0 () () () 0 0)
+4 'rdim' 'sizemod' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '40401') () 0 () () () 0 0)
+5 'sizemod' 'sizemod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
)
('mmax' 0 2 'nmax' 0 3 'rdim' 0 4 'sizemod' 0 5)
diff --git a/pywafo/src/wafo/source/mreg/svd.mod b/pywafo/src/wafo/source/mreg/svd.mod
index 17db967..644dce9 100644
--- a/pywafo/src/wafo/source/mreg/svd.mod
+++ b/pywafo/src/wafo/source/mreg/svd.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from dsvdc.f on Fri Apr 05 14:43:21 2013
-MD5:324936151a800ce072449221cf8c2383 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from dsvdc.f
+MD5:abcd8831f7c356963533637fa7c27518 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,80 +14,80 @@ MD5:324936151a800ce072449221cf8c2383 -- If you edit this, you'll get what you de
()
-(2 'dp' 'svd' 'dp' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (INTEGER
-4 0 0 INTEGER ()) 0 '8') () 0 () () () 0 0)
-3 'drot1' 'svd' 'drot1' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 UNKNOWN ()) 4 0 (5 6 7 8 9) () 0
-() () () 0 0)
-10 'drotg' 'svd' 'drotg' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 UNKNOWN ()) 11 0 (12 13 14 15) ()
-0 () () () 0 0)
-16 'dsvdc' 'svd' 'dsvdc' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 SUBROUTINE ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 UNKNOWN ()) 17 0
-(18 19 20 21 22 23 24 25 26) () 0 () () () 0 0)
-27 'dswap1' 'svd' 'dswap1' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 UNKNOWN ()) 28 0 (29 30 31) () 0
-() () () 0 0)
-32 'selected_real_kind' '(intrinsic)' 'selected_real_kind' 1 ((
-PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 FUNCTION) (
-UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 32 () () () 0 0)
-33 'svd' 'svd' 'svd' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
-30 'dx' '' 'dx' 28 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SIZE (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-31 'dy' '' 'dy' 28 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SIZE (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-8 'c' '' 'c' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 's' '' 's' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-5 'n' '' 'n' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-6 'dx' '' 'dx' 4 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SIZE (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-7 'dy' '' 'dy' 4 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SIZE (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-21 's' '' 's' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-22 'e' '' 'e' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-23 'u' '' 'u' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
-24 'v' '' 'v' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
-25 'job' '' 'job' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-26 'info' '' 'info' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-18 'x' '' 'x' 17 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
-19 'n' '' 'n' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-20 'p' '' 'p' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-15 'ds' '' 'ds' 11 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-12 'da' '' 'da' 11 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-13 'db' '' 'db' 11 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-14 'dc' '' 'dc' 11 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-29 'n' '' 'n' 28 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+(2 'dp' 'svd' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '8') () 0 () () () 0 0)
+3 'drot1' 'svd' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN
+0 0 SUBROUTINE IMPLICIT_PURE) (UNKNOWN 0 0 0 0 UNKNOWN ()) 4 0 (5 6 7 8
+9) () 0 () () () 0 0)
+10 'drotg' 'svd' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE IMPLICIT_PURE) (UNKNOWN 0 0 0 0 UNKNOWN ()) 11 0
+(12 13 14 15) () 0 () () () 0 0)
+16 'dsvdc' 'svd' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0 UNKNOWN ()) 17
+0 (18 19 20 21 22 23 24 25 26) () 0 () () () 0 0)
+27 'dswap1' 'svd' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE IMPLICIT_PURE) (UNKNOWN 0 0 0 0 UNKNOWN ()) 28 0
+(29 30 31) () 0 () () () 0 0)
+32 'selected_real_kind' '(intrinsic)' '' 1 ((PROCEDURE UNKNOWN-INTENT
+UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 FUNCTION) (UNKNOWN 0 0 0 0 UNKNOWN ())
+0 0 () () 32 () () () 0 0)
+33 'svd' 'svd' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+5 'n' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+6 'dx' '' '' 4 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SIZE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+7 'dy' '' '' 4 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SIZE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+8 'c' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+9 's' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+12 'da' '' '' 11 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+13 'db' '' '' 11 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+14 'dc' '' '' 11 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+15 'ds' '' '' 11 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+18 'x' '' '' 17 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+19 'n' '' '' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+20 'p' '' '' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+21 's' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+22 'e' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+23 'u' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+24 'v' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+25 'job' '' '' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+26 'info' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+29 'n' '' '' 28 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+30 'dx' '' '' 28 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SIZE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+31 'dy' '' '' 28 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SIZE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
)
('dp' 0 2 'drot1' 0 3 'drotg' 0 10 'dsvdc' 0 16 'dswap1' 0 27
diff --git a/pywafo/src/wafo/source/mreg/tbrmod.mod b/pywafo/src/wafo/source/mreg/tbrmod.mod
index 805cc4a..754d997 100644
--- a/pywafo/src/wafo/source/mreg/tbrmod.mod
+++ b/pywafo/src/wafo/source/mreg/tbrmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mregmodule.f on Tue Mar 27 09:05:04 2012
-MD5:1ca9424273ef49cacfd88e3bffcc7949 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mregmodule.f
+MD5:4a3c9785928b78adb9e08df8fc7a2445 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
@@ -14,23 +14,23 @@ MD5:1ca9424273ef49cacfd88e3bffcc7949 -- If you edit this, you'll get what you de
()
-(2 'hh' 'tbrmod' 'hh' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0
+(2 'hh' 'tbrmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT
+(CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 0
INTEGER ()) 0 '201')) 0 () () () 0 0)
-3 'mmax' 'sizemod' 'mmax' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '6') () 0 () () () 0 0)
-4 'nmax' 'sizemod' 'nmax' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '201') () 0 () () () 0 0)
-5 'rdim' 'sizemod' 'rdim' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '40401') () 0 () () () 0 0)
-6 'sizemod' 'sizemod' 'sizemod' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
-7 'tbrmod' 'tbrmod' 'tbrmod' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+3 'mmax' 'sizemod' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '6') () 0 () () () 0 0)
+4 'nmax' 'sizemod' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '201') () 0 () () () 0 0)
+5 'rdim' 'sizemod' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '40401') () 0 () () () 0 0)
+6 'sizemod' 'sizemod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+7 'tbrmod' 'tbrmod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
)
('hh' 0 2 'mmax' 0 3 'nmax' 0 4 'rdim' 0 5 'sizemod' 0 6 'tbrmod' 0 7)
diff --git a/pywafo/src/wafo/source/mvn/mvn.pyd b/pywafo/src/wafo/source/mvn/mvn.pyd
index 9756b1b..c76f9e2 100644
Binary files a/pywafo/src/wafo/source/mvn/mvn.pyd and b/pywafo/src/wafo/source/mvn/mvn.pyd differ
diff --git a/pywafo/src/wafo/source/mvnprd/adaptivegausskronrod.mod b/pywafo/src/wafo/source/mvnprd/adaptivegausskronrod.mod
index 5f07ab1..d6f5e21 100644
--- a/pywafo/src/wafo/source/mvnprd/adaptivegausskronrod.mod
+++ b/pywafo/src/wafo/source/mvnprd/adaptivegausskronrod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mvnprodcorrprb.f on Tue Mar 27 09:05:10 2012
-MD5:890492d834c402a25f8ffb901b047b9e -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mvnprodcorrprb.f
+MD5:4cf088ac31844fc439b9335751705634 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,102 +14,103 @@ MD5:890492d834c402a25f8ffb901b047b9e -- If you edit this, you'll get what you de
()
-(2 'dqagp' 'adaptivegausskronrod' 'dqagp' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 4 0 (5 6 7 8 9 10 11 12 13 14 15 16) () 0 () () () 0 0)
-3 'dqagpe' 'adaptivegausskronrod' 'dqagpe' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 17 0 (18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38)
-() 0 () () () 0 0)
-5 'f' '' 'f' 4 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-6 'a' '' 'a' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-7 'b' '' 'b' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-8 'npts' '' 'npts' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-9 'points' '' 'points' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 INTEGER ()) 0
-8 ())) 0 () () () 0 0)
-10 'epsabs' '' 'epsabs' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-11 'epsrel' '' 'epsrel' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-12 'limit' '' 'limit' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-13 'result1' '' 'result1' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-14 'abserr' '' 'abserr' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-15 'neval' '' 'neval' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-16 'ier' '' 'ier' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-18 'f' '' 'f' 17 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0
+(2 'dqagp' 'adaptivegausskronrod' '' 1 ((PROCEDURE UNKNOWN-INTENT
+MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0
+UNKNOWN ()) 4 0 (5 6 7 8 9 10 11 12 13 14 15 16) () 0 () () () 0 0)
+3 'dqagpe' 'adaptivegausskronrod' '' 1 ((PROCEDURE UNKNOWN-INTENT
+MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0
+UNKNOWN ()) 17 0 (18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
+36 37 38) () 0 () () () 0 0)
+5 'f' '' '' 4 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0
+0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
0)
-19 'a' '' 'a' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-20 'b' '' 'b' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-21 'npts' '' 'npts' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-22 'points' '' 'points' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 INTEGER ()) 0
-21 ())) 0 () () () 0 0)
-23 'epsabs' '' 'epsabs' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-24 'epsrel' '' 'epsrel' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-25 'limit' '' 'limit' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-26 'result' '' 'result' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-27 'abserr' '' 'abserr' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-28 'neval' '' 'neval' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-29 'ier' '' 'ier' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-30 'alist' '' 'alist' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 INTEGER ()) 0
-25 ())) 0 () () () 0 0)
-31 'blist' '' 'blist' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 INTEGER ()) 0
-25 ())) 0 () () () 0 0)
-32 'rlist' '' 'rlist' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 INTEGER ()) 0
-25 ())) 0 () () () 0 0)
-33 'elist' '' 'elist' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 INTEGER ()) 0
-25 ())) 0 () () () 0 0)
-34 'pts' '' 'pts' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') (OP (INTEGER 4 0 0 INTEGER ()) 0 PLUS (
-VARIABLE (INTEGER 4 0 0 INTEGER ()) 0 21 ()) (CONSTANT (INTEGER 4 0 0
-INTEGER ()) 0 '2'))) 0 () () () 0 0)
-35 'iord' '' 'iord' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0
+6 'a' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+7 'b' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+8 'npts' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+9 'points' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 0 INTEGER ())
+0 8 ())) 0 () () () 0 0)
+10 'epsabs' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+11 'epsrel' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+12 'limit' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+13 'result1' '' '' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+14 'abserr' '' '' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+15 'neval' '' '' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+16 'ier' '' '' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+18 'f' '' '' 17 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () ()
+0 0)
+19 'a' '' '' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+20 'b' '' '' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+21 'npts' '' '' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+22 'points' '' '' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 0 INTEGER ())
+0 21 ())) 0 () () () 0 0)
+23 'epsabs' '' '' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+24 'epsrel' '' '' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+25 'limit' '' '' 17 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+26 'result' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+27 'abserr' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+28 'neval' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+29 'ier' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+30 'alist' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 0 INTEGER ())
+0 25 ())) 0 () () () 0 0)
+31 'blist' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 0 INTEGER ())
+0 25 ())) 0 () () () 0 0)
+32 'rlist' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 0 INTEGER ())
+0 25 ())) 0 () () () 0 0)
+33 'elist' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 0 INTEGER ())
+0 25 ())) 0 () () () 0 0)
+34 'pts' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 EXPLICIT (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') (OP (INTEGER 4 0 0 0 INTEGER ()) 0
+PLUS (VARIABLE (INTEGER 4 0 0 0 INTEGER ()) 0 21 ()) (CONSTANT (INTEGER
+4 0 0 0 INTEGER ()) 0 '2'))) 0 () () () 0 0)
+35 'iord' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0 EXPLICIT (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 0
INTEGER ()) 0 25 ())) 0 () () () 0 0)
-36 'level' '' 'level' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0
+36 'level' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0 EXPLICIT (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (VARIABLE (INTEGER 4 0 0 0
INTEGER ()) 0 25 ())) 0 () () () 0 0)
-37 'ndin' '' 'ndin' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (OP (INTEGER 4 0 0 INTEGER ())
-0 PLUS (VARIABLE (INTEGER 4 0 0 INTEGER ()) 0 21 ()) (CONSTANT (INTEGER
-4 0 0 INTEGER ()) 0 '2'))) 0 () () () 0 0)
-38 'last' '' 'last' 17 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+37 'ndin' '' '' 17 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0 EXPLICIT (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (OP (INTEGER 4 0 0 0
+INTEGER ()) 0 PLUS (VARIABLE (INTEGER 4 0 0 0 INTEGER ()) 0 21 ()) (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '2'))) 0 () () () 0 0)
+38 'last' '' '' 17 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
)
('dqagp' 0 2 'dqagpe' 0 3)
diff --git a/pywafo/src/wafo/source/mvnprd/erfcoremod.mod b/pywafo/src/wafo/source/mvnprd/erfcoremod.mod
index 7f32a7b..5610e18 100644
--- a/pywafo/src/wafo/source/mvnprd/erfcoremod.mod
+++ b/pywafo/src/wafo/source/mvnprd/erfcoremod.mod
@@ -1,13 +1,13 @@
-GFORTRAN module version '4' created from mvnprodcorrprb.f on Mon Feb 18 02:58:24 2013
-MD5:3c74315b2657777cdd2d82ef024b4aea -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mvnprodcorrprb.f
+MD5:d50eebbb2a58cec28466fffd901e30ce -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
()
-(('derf' 'erfcoremod' 2) ('calerf' 'erfcoremod' 3) ('derfcx' 'erfcoremod'
-4) ('derfc' 'erfcoremod' 5))
+(('calerf' 'erfcoremod' 2) ('derf' 'erfcoremod' 3) ('derfc' 'erfcoremod'
+4) ('derfcx' 'erfcoremod' 5))
()
@@ -15,39 +15,39 @@ MD5:3c74315b2657777cdd2d82ef024b4aea -- If you edit this, you'll get what you de
()
-(3 'calerf' 'erfcoremod' 'calerf' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 6 0 (7 8 9) () 0 () () () 0 0)
-2 'derf' 'erfcoremod' 'derf' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 10 0 (11) () 12
-() () () 0 0)
-5 'derfc' 'erfcoremod' 'derfc' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 13 0 (14) () 15
-() () () 0 0)
-4 'derfcx' 'erfcoremod' 'derfcx' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 16 0
-(17) () 18 () () () 0 0)
-19 'erfcoremod' 'erfcoremod' 'erfcoremod' 1 ((MODULE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0
-() () () 0 0)
-11 'x' '' 'x' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-12 'value' '' 'value' 10 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-14 'x' '' 'x' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-15 'value' '' 'value' 13 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-17 'x' '' 'x' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-18 'value' '' 'value' 16 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-7 'arg' '' 'arg' 6 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-8 'result' '' 'result' 6 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 'jint' '' 'jint' 6 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+(2 'calerf' 'erfcoremod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
+DECL UNKNOWN 0 0 SUBROUTINE GENERIC IMPLICIT_PURE) (UNKNOWN 0 0 0 0
+UNKNOWN ()) 6 0 (7 8 9) () 0 () () () 0 0)
+3 'derf' 'erfcoremod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 0 REAL ()) 10 0 (11) () 12 ()
+() () 0 0)
+4 'derfc' 'erfcoremod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 0 REAL ()) 13 0 (14) () 15 ()
+() () 0 0)
+5 'derfcx' 'erfcoremod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 0 REAL ()) 16 0 (17) () 18 ()
+() () 0 0)
+19 'erfcoremod' 'erfcoremod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0
+0)
+7 'arg' '' '' 6 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+8 'result' '' '' 6 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+9 'jint' '' '' 6 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+11 'x' '' '' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+12 'value' '' '' 10 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 RESULT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+14 'x' '' '' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+15 'value' '' '' 13 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 RESULT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+17 'x' '' '' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+18 'value' '' '' 16 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 RESULT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
)
-('calerf' 0 3 'derf' 0 2 'derfc' 0 5 'derfcx' 0 4 'erfcoremod' 0 19)
+('calerf' 0 2 'derf' 0 3 'derfc' 0 4 'derfcx' 0 5 'erfcoremod' 0 19)
diff --git a/pywafo/src/wafo/source/mvnprd/functioninterface.mod b/pywafo/src/wafo/source/mvnprd/functioninterface.mod
index 384658e..339f769 100644
--- a/pywafo/src/wafo/source/mvnprd/functioninterface.mod
+++ b/pywafo/src/wafo/source/mvnprd/functioninterface.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mvnprodcorrprb.f on Tue Mar 27 09:05:10 2012
-MD5:98dc6085ed18b1d1cace7efd77465292 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mvnprodcorrprb.f
+MD5:2635116f2ab857b1a31d22224a34abc8 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,16 +14,16 @@ MD5:98dc6085ed18b1d1cace7efd77465292 -- If you edit this, you'll get what you de
()
-(2 'f' 'functioninterface' 'f' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-BODY UNKNOWN 0 0 EXTERNAL FUNCTION) (REAL 8 0 0 REAL ()) 3 0 (4) () 5 ()
-() () 0 0)
-6 'functioninterface' 'functioninterface' 'functioninterface' 1 ((
-MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0
-UNKNOWN ()) 0 0 () () 0 () () () 0 0)
-4 'z' '' 'z' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-5 'val' '' 'val' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+(2 'f' 'functioninterface' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
+BODY UNKNOWN 0 0 EXTERNAL FUNCTION) (REAL 8 0 0 0 REAL ()) 3 0 (4) () 5
+() () () 0 0)
+6 'functioninterface' 'functioninterface' '' 1 ((MODULE UNKNOWN-INTENT
+UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () ()
+0 () () () 0 0)
+4 'z' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+5 'val' '' '' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0
+0 RESULT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
)
('f' 0 2 'functioninterface' 0 6)
diff --git a/pywafo/src/wafo/source/mvnprd/integration1dmodule.mod b/pywafo/src/wafo/source/mvnprd/integration1dmodule.mod
index 44d1aa1..f6e6c73 100644
--- a/pywafo/src/wafo/source/mvnprd/integration1dmodule.mod
+++ b/pywafo/src/wafo/source/mvnprd/integration1dmodule.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mvnprodcorrprb.f on Tue Mar 27 09:05:10 2012
-MD5:c511a9aa7e31370eaf1e1a904f0a7c1c -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mvnprodcorrprb.f
+MD5:c465e58723b4af4dc6c95dff6bfd5851 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
@@ -7,8 +7,8 @@ MD5:c511a9aa7e31370eaf1e1a904f0a7c1c -- If you edit this, you'll get what you de
()
(('adaptivesimpson' 'integration1dmodule' 2 3) ('adaptivetrapz'
-'integration1dmodule' 4 5) ('d1mach' 'integration1dmodule' 6) ('romberg'
-'integration1dmodule' 7 8) ('dea' 'integration1dmodule' 9))
+'integration1dmodule' 4 5) ('d1mach' 'integration1dmodule' 6) ('dea'
+'integration1dmodule' 7) ('romberg' 'integration1dmodule' 8 9))
()
@@ -16,237 +16,237 @@ MD5:c511a9aa7e31370eaf1e1a904f0a7c1c -- If you edit this, you'll get what you de
()
-(10 'adaptiveintwithbreaks' 'integration1dmodule' 'adaptiveintwithbreaks'
-1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE
-ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 UNKNOWN ()) 11 0 (12 13 14 15 16 17 18
-19 20) () 0 () () () 0 0)
-21 'adaptivesimpson1' 'integration1dmodule' 'adaptivesimpson1' 1 ((
-PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (
-UNKNOWN 0 0 0 UNKNOWN ()) 22 0 (23 24 25 26 27 28 29) () 0 () () () 0 0)
-3 'adaptivesimpson2' 'integration1dmodule' 'adaptivesimpson2' 1 ((
-PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (
-UNKNOWN 0 0 0 UNKNOWN ()) 30 0 (31 32 33 34 35 36 37) () 0 () () () 0 0)
-38 'adaptivesimpson3' 'integration1dmodule' 'adaptivesimpson3' 1 ((
-PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (
-UNKNOWN 0 0 0 UNKNOWN ()) 39 0 (40 41 42 43 44 45 46) () 0 () () () 0 0)
-2 'adaptivesimpsonwithbreaks' 'integration1dmodule'
-'adaptivesimpsonwithbreaks' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 UNKNOWN ())
-47 0 (48 49 50 51 52 53 54 55 56) () 0 () () () 0 0)
-5 'adaptivetrapz1' 'integration1dmodule' 'adaptivetrapz1' 1 ((PROCEDURE
-UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0
-UNKNOWN ()) 57 0 (58 59 60 61 62 63 64) () 0 () () () 0 0)
-4 'adaptivetrapzwithbreaks' 'integration1dmodule'
-'adaptivetrapzwithbreaks' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 SUBROUTINE ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 UNKNOWN ()) 65 0
-(66 67 68 69 70 71 72 73 74) () 0 () () () 0 0)
-6 'd1mach' 'integration1dmodule' 'd1mach' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 75 0
-(76) () 6 () () () 0 0)
-9 'dea' 'integration1dmodule' 'dea' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 77 0 (78 79 80 81 82 83 84) () 0 () () () 0 0)
-85 'dea3' 'integration1dmodule' 'dea3' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 UNKNOWN ()) 86 0
-(87 88 89 90 91) () 0 () () () 0 0)
-92 'integration1dmodule' 'integration1dmodule' 'integration1dmodule' 1 (
-(MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0
+(10 'adaptiveintwithbreaks' 'integration1dmodule' '' 1 ((PROCEDURE
+UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE ALWAYS_EXPLICIT)
+(UNKNOWN 0 0 0 0 UNKNOWN ()) 11 0 (12 13 14 15 16 17 18 19 20) () 0 () ()
+() 0 0)
+21 'adaptivesimpson1' 'integration1dmodule' '' 1 ((PROCEDURE
+UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 0
+UNKNOWN ()) 22 0 (23 24 25 26 27 28 29) () 0 () () () 0 0)
+3 'adaptivesimpson2' 'integration1dmodule' '' 1 ((PROCEDURE
+UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 0
+UNKNOWN ()) 30 0 (31 32 33 34 35 36 37) () 0 () () () 0 0)
+38 'adaptivesimpson3' 'integration1dmodule' '' 1 ((PROCEDURE
+UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 0
+UNKNOWN ()) 39 0 (40 41 42 43 44 45 46) () 0 () () () 0 0)
+2 'adaptivesimpsonwithbreaks' 'integration1dmodule' '' 1 ((PROCEDURE
+UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE ALWAYS_EXPLICIT)
+(UNKNOWN 0 0 0 0 UNKNOWN ()) 47 0 (48 49 50 51 52 53 54 55 56) () 0 () ()
+() 0 0)
+5 'adaptivetrapz1' 'integration1dmodule' '' 1 ((PROCEDURE UNKNOWN-INTENT
+MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 0 UNKNOWN ()) 57
+0 (58 59 60 61 62 63 64) () 0 () () () 0 0)
+4 'adaptivetrapzwithbreaks' 'integration1dmodule' '' 1 ((PROCEDURE
+UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE ALWAYS_EXPLICIT)
+(UNKNOWN 0 0 0 0 UNKNOWN ()) 65 0 (66 67 68 69 70 71 72 73 74) () 0 () ()
+() 0 0)
+6 'd1mach' 'integration1dmodule' '' 1 ((PROCEDURE UNKNOWN-INTENT
+MODULE-PROC DECL UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 0 REAL ()) 75
+0 (76) () 6 () () () 0 0)
+7 'dea' 'integration1dmodule' '' 1 ((PROCEDURE UNKNOWN-INTENT
+MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0
+UNKNOWN ()) 77 0 (78 79 80 81 82 83 84) () 0 () () () 0 0)
+85 'dea3' 'integration1dmodule' '' 1 ((PROCEDURE UNKNOWN-INTENT
+MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE IMPLICIT_PURE) (UNKNOWN 0 0 0 0
+UNKNOWN ()) 86 0 (87 88 89 90 91) () 0 () () () 0 0)
+92 'integration1dmodule' 'integration1dmodule' '' 1 ((MODULE
+UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 0
UNKNOWN ()) 0 0 () () 0 () () () 0 0)
-8 'romberg1' 'integration1dmodule' 'romberg1' 1 ((PROCEDURE
-UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0
-UNKNOWN ()) 93 0 (94 95 96 97 98 99 100 101) () 0 () () () 0 0)
-7 'rombergwithbreaks' 'integration1dmodule' 'rombergwithbreaks' 1 ((
-PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE
-ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 UNKNOWN ()) 102 0 (103 104 105 106 107
-108 109 110 111) () 0 () () () 0 0)
-76 'i' '' 'i' 75 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-87 'e0' '' 'e0' 86 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-88 'e1' '' 'e1' 86 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-89 'e2' '' 'e2' 86 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-90 'abserr' '' 'abserr' 86 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-91 'result' '' 'result' 86 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-78 'newflg' '' 'newflg' 77 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 DUMMY) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () () 0 () () () 0 0)
-79 'svalue' '' 'svalue' 77 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-80 'limexp' '' 'limexp' 77 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-81 'result' '' 'result' 77 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-82 'abserr' '' 'abserr' 77 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-83 'epstab' '' 'epstab' 77 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SIZE (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-84 'ierr' '' 'ierr' 77 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-12 'f' '' 'f' 11 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0
-0)
-13 'a' '' 'a' 11 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-14 'b' '' 'b' 11 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-15 'n' '' 'n' 11 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-16 'brks' '' 'brks' 11 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-17 'epsi' '' 'epsi' 11 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-18 'iflg' '' 'iflg' 11 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-19 'abserr' '' 'abserr' 11 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-20 'val' '' 'val' 11 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-48 'f' '' 'f' 47 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0
-0)
-49 'a' '' 'a' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-50 'b' '' 'b' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-51 'n' '' 'n' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-52 'brks' '' 'brks' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-53 'epsi' '' 'epsi' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-54 'iflg' '' 'iflg' 47 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-55 'abserr' '' 'abserr' 47 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-56 'val' '' 'val' 47 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-23 'f' '' 'f' 22 ((PROCEDURE UNKNOWN-INTENT DUMMY-PROC UNKNOWN UNKNOWN 0
-0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 23 () () () 0
-0)
-24 'a' '' 'a' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-25 'b' '' 'b' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-26 'epsi' '' 'epsi' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-27 'iflg' '' 'iflg' 22 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-28 'abserr' '' 'abserr' 22 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-29 'val' '' 'val' 22 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-31 'f' '' 'f' 30 ((PROCEDURE UNKNOWN-INTENT DUMMY-PROC UNKNOWN UNKNOWN 0
-0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 31 () () () 0
-0)
-32 'a' '' 'a' 30 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-33 'b' '' 'b' 30 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-34 'epsi' '' 'epsi' 30 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-35 'iflg' '' 'iflg' 30 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-36 'abserr' '' 'abserr' 30 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-37 'val' '' 'val' 30 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-40 'f' '' 'f' 39 ((PROCEDURE UNKNOWN-INTENT DUMMY-PROC UNKNOWN UNKNOWN 0
-0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 40 () () () 0
-0)
-41 'a' '' 'a' 39 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-42 'b' '' 'b' 39 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-43 'epsi' '' 'epsi' 39 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-44 'iflg' '' 'iflg' 39 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-45 'abserr' '' 'abserr' 39 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-46 'val' '' 'val' 39 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-66 'f' '' 'f' 65 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0
-0)
-67 'a' '' 'a' 65 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-68 'b' '' 'b' 65 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-69 'n' '' 'n' 65 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-70 'brks' '' 'brks' 65 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-71 'epsi' '' 'epsi' 65 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-72 'iflg' '' 'iflg' 65 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-73 'abserr' '' 'abserr' 65 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-74 'val' '' 'val' 65 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-58 'f' '' 'f' 57 ((PROCEDURE UNKNOWN-INTENT DUMMY-PROC UNKNOWN UNKNOWN 0
-0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 58 () () () 0
-0)
-59 'a' '' 'a' 57 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-60 'b' '' 'b' 57 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-61 'epsi' '' 'epsi' 57 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-62 'iflg' '' 'iflg' 57 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-63 'abserr' '' 'abserr' 57 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-64 'val' '' 'val' 57 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-103 'f' '' 'f' 102 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
-() () 0 0)
-104 'a' '' 'a' 102 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-105 'b' '' 'b' 102 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-106 'n' '' 'n' 102 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-107 'brks' '' 'brks' 102 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-108 'epsi' '' 'epsi' 102 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-109 'iflg' '' 'iflg' 102 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-110 'abserr' '' 'abserr' 102 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-111 'val' '' 'val' 102 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-94 'f' '' 'f' 93 ((PROCEDURE UNKNOWN-INTENT DUMMY-PROC UNKNOWN UNKNOWN 0
-0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 REAL ()) 0 0 () () 94 () () () 0
-0)
-95 'a' '' 'a' 93 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-96 'b' '' 'b' 93 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-97 'decdigs' '' 'decdigs' 93 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-98 'abseps' '' 'abseps' 93 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-99 'errflg' '' 'errflg' 93 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-100 'abserr' '' 'abserr' 93 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-101 'val' '' 'val' 93 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+9 'romberg1' 'integration1dmodule' '' 1 ((PROCEDURE UNKNOWN-INTENT
+MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 0 UNKNOWN ()) 93
+0 (94 95 96 97 98 99 100 101) () 0 () () () 0 0)
+8 'rombergwithbreaks' 'integration1dmodule' '' 1 ((PROCEDURE
+UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE ALWAYS_EXPLICIT)
+(UNKNOWN 0 0 0 0 UNKNOWN ()) 102 0 (103 104 105 106 107 108 109 110 111)
+() 0 () () () 0 0)
+12 'f' '' '' 11 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () ()
+0 0)
+13 'a' '' '' 11 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+14 'b' '' '' 11 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+15 'n' '' '' 11 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+16 'brks' '' '' 11 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+17 'epsi' '' '' 11 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+18 'iflg' '' '' 11 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+19 'abserr' '' '' 11 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+20 'val' '' '' 11 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+23 'f' '' '' 22 ((PROCEDURE UNKNOWN-INTENT DUMMY-PROC UNKNOWN UNKNOWN 0
+0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 23 () () ()
+0 0)
+24 'a' '' '' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+25 'b' '' '' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+26 'epsi' '' '' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+27 'iflg' '' '' 22 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+28 'abserr' '' '' 22 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+29 'val' '' '' 22 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+31 'f' '' '' 30 ((PROCEDURE UNKNOWN-INTENT DUMMY-PROC UNKNOWN UNKNOWN 0
+0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 31 () () ()
+0 0)
+32 'a' '' '' 30 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+33 'b' '' '' 30 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+34 'epsi' '' '' 30 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+35 'iflg' '' '' 30 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+36 'abserr' '' '' 30 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+37 'val' '' '' 30 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+40 'f' '' '' 39 ((PROCEDURE UNKNOWN-INTENT DUMMY-PROC UNKNOWN UNKNOWN 0
+0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 40 () () ()
+0 0)
+41 'a' '' '' 39 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+42 'b' '' '' 39 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+43 'epsi' '' '' 39 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+44 'iflg' '' '' 39 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+45 'abserr' '' '' 39 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+46 'val' '' '' 39 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+48 'f' '' '' 47 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () ()
+0 0)
+49 'a' '' '' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+50 'b' '' '' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+51 'n' '' '' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+52 'brks' '' '' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+53 'epsi' '' '' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+54 'iflg' '' '' 47 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+55 'abserr' '' '' 47 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+56 'val' '' '' 47 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+58 'f' '' '' 57 ((PROCEDURE UNKNOWN-INTENT DUMMY-PROC UNKNOWN UNKNOWN 0
+0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 58 () () ()
+0 0)
+59 'a' '' '' 57 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+60 'b' '' '' 57 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+61 'epsi' '' '' 57 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+62 'iflg' '' '' 57 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+63 'abserr' '' '' 57 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+64 'val' '' '' 57 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+66 'f' '' '' 65 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () ()
+0 0)
+67 'a' '' '' 65 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+68 'b' '' '' 65 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+69 'n' '' '' 65 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+70 'brks' '' '' 65 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+71 'epsi' '' '' 65 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+72 'iflg' '' '' 65 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+73 'abserr' '' '' 65 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+74 'val' '' '' 65 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+76 'i' '' '' 75 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+78 'newflg' '' '' 77 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (LOGICAL 4 0 0 0 LOGICAL ()) 0 0 () () 0 () () () 0 0)
+79 'svalue' '' '' 77 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+80 'limexp' '' '' 77 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+81 'result' '' '' 77 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+82 'abserr' '' '' 77 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+83 'epstab' '' '' 77 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SIZE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+84 'ierr' '' '' 77 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+87 'e0' '' '' 86 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+88 'e1' '' '' 86 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+89 'e2' '' '' 86 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+90 'abserr' '' '' 86 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+91 'result' '' '' 86 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+94 'f' '' '' 93 ((PROCEDURE UNKNOWN-INTENT DUMMY-PROC UNKNOWN UNKNOWN 0
+0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 94 () () ()
+0 0)
+95 'a' '' '' 93 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+96 'b' '' '' 93 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+97 'decdigs' '' '' 93 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+98 'abseps' '' '' 93 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+99 'errflg' '' '' 93 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+100 'abserr' '' '' 93 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+101 'val' '' '' 93 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+103 'f' '' '' 102 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 EXTERNAL DUMMY FUNCTION) (REAL 8 0 0 0 REAL ()) 0 0 () () 0
+() () () 0 0)
+104 'a' '' '' 102 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+105 'b' '' '' 102 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+106 'n' '' '' 102 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+107 'brks' '' '' 102 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+108 'epsi' '' '' 102 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+109 'iflg' '' '' 102 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+110 'abserr' '' '' 102 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+111 'val' '' '' 102 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
)
('adaptiveintwithbreaks' 0 10 'adaptivesimpson1' 0 21 'adaptivesimpson2'
0 3 'adaptivesimpson3' 0 38 'adaptivesimpsonwithbreaks' 0 2
'adaptivetrapz1' 0 5 'adaptivetrapzwithbreaks' 0 4 'd1mach' 0 6 'dea' 0
-9 'dea3' 0 85 'integration1dmodule' 0 92 'romberg1' 0 8
-'rombergwithbreaks' 0 7)
+7 'dea3' 0 85 'integration1dmodule' 0 92 'romberg1' 0 9
+'rombergwithbreaks' 0 8)
diff --git a/pywafo/src/wafo/source/mvnprd/mvnprdmod.pyd b/pywafo/src/wafo/source/mvnprd/mvnprdmod.pyd
index aa8f18e..8a50904 100644
Binary files a/pywafo/src/wafo/source/mvnprd/mvnprdmod.pyd and b/pywafo/src/wafo/source/mvnprd/mvnprdmod.pyd differ
diff --git a/pywafo/src/wafo/source/mvnprd/mvnprodcorrprbmod.mod b/pywafo/src/wafo/source/mvnprd/mvnprodcorrprbmod.mod
index 9b505bb..a9389a2 100644
--- a/pywafo/src/wafo/source/mvnprd/mvnprodcorrprbmod.mod
+++ b/pywafo/src/wafo/source/mvnprd/mvnprodcorrprbmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from mvnprodcorrprb.f on Tue Mar 27 09:05:10 2012
-MD5:42ed7a885b5e63fb849ed2589623724d -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from mvnprodcorrprb.f
+MD5:8740350189059c565ea73e4e38d4d956 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
@@ -14,34 +14,33 @@ MD5:42ed7a885b5e63fb849ed2589623724d -- If you edit this, you'll get what you de
()
-(2 'mvnprodcorrprb' 'mvnprodcorrprbmod' 'mvnprodcorrprb' 1 ((PROCEDURE
-UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC
-ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 UNKNOWN ()) 3 0 (4 5 6 7 8 9 10 11 12 13)
-() 0 () () () 0 0)
-4 'rho' '' 'rho' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-5 'a' '' 'a' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT (INTEGER 4
-0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-6 'b' '' 'b' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT (INTEGER 4
-0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-7 'abseps' '' 'abseps' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-8 'releps' '' 'releps' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 'usebreakpoints' '' 'usebreakpoints' 3 ((VARIABLE IN UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 DUMMY) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () () 0 () ()
-() 0 0)
-10 'usesimpson' '' 'usesimpson' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DUMMY) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () () 0 () () () 0 0)
-11 'abserr' '' 'abserr' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-12 'errflg' '' 'errflg' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-13 'prb' '' 'prb' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+(2 'mvnprodcorrprb' 'mvnprodcorrprbmod' '' 1 ((PROCEDURE UNKNOWN-INTENT
+MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (
+UNKNOWN 0 0 0 0 UNKNOWN ()) 3 0 (4 5 6 7 8 9 10 11 12 13) () 0 () () ()
+0 0)
+4 'rho' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+5 'a' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+6 'b' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+7 'abseps' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+8 'releps' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+9 'usebreakpoints' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
+0 DUMMY) (LOGICAL 4 0 0 0 LOGICAL ()) 0 0 () () 0 () () () 0 0)
+10 'usesimpson' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (LOGICAL 4 0 0 0 LOGICAL ()) 0 0 () () 0 () () () 0 0)
+11 'abserr' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+12 'errflg' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+13 'prb' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
)
('mvnprodcorrprb' 0 2)
diff --git a/pywafo/src/wafo/source/rind2007/adaptmod.mod b/pywafo/src/wafo/source/rind2007/adaptmod.mod
index c4ba3a3..3001f36 100644
--- a/pywafo/src/wafo/source/rind2007/adaptmod.mod
+++ b/pywafo/src/wafo/source/rind2007/adaptmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from intmodule.f on Fri Apr 05 14:43:34 2013
-MD5:eb86eb23c4dd9c63b34e5099ef78d184 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from intmodule.f
+MD5:6b832f3082aec892583a61a9998cf5eb -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,58 +14,58 @@ MD5:eb86eb23c4dd9c63b34e5099ef78d184 -- If you edit this, you'll get what you de
()
-(2 'adapt' 'adaptmod' 'adapt' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN ()) 4 0 (5 6
-7 8 9 10 11 12 13) () 0 () () () 0 0)
-3 'sadapt' 'adaptmod' 'sadapt' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN ()) 14 0 (
-15 16 17 18 19 20 21 22) () 0 () () () 0 0)
-18 'abseps' '' 'abseps' 14 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-19 'releps' '' 'releps' 14 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-20 'error' '' 'error' 14 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-21 'value' '' 'value' 14 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-22 'inform' '' 'inform' 14 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-15 'n' '' 'n' 14 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-16 'maxpts' '' 'maxpts' 14 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-17 'functn' '' 'functn' 14 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY
-UNKNOWN 0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 23 0 (
-24 25) () 17 () () () 0 0)
-24 'n' '' 'n' 23 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-25 'z' '' 'z' 23 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-8 'functn' '' 'functn' 4 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY
-UNKNOWN 0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 26 0 (
-27 28) () 8 () () () 0 0)
-9 'absreq' '' 'absreq' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-10 'relreq' '' 'relreq' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-11 'absest' '' 'absest' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-12 'finest' '' 'finest' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-5 'ndim' '' 'ndim' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-6 'mincls' '' 'mincls' 4 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-7 'maxcls' '' 'maxcls' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-13 'inform' '' 'inform' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-27 'n' '' 'n' 26 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-28 'z' '' 'z' 26 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+(2 'adapt' 'adaptmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 4 0 (5 6 7
+8 9 10 11 12 13) () 0 () () () 0 0)
+3 'sadapt' 'adaptmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 14 0 (15 16
+17 18 19 20 21 22) () 0 () () () 0 0)
+5 'ndim' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+6 'mincls' '' '' 4 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+7 'maxcls' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+8 'functn' '' '' 4 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY UNKNOWN
+0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 23 0 (24 25)
+() 8 () () () 0 0)
+9 'absreq' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+10 'relreq' '' '' 4 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+11 'absest' '' '' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+12 'finest' '' '' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+13 'inform' '' '' 4 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+15 'n' '' '' 14 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+16 'maxpts' '' '' 14 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+17 'functn' '' '' 14 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY
+UNKNOWN 0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 26 0
+(27 28) () 17 () () () 0 0)
+18 'abseps' '' '' 14 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+19 'releps' '' '' 14 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+20 'error' '' '' 14 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+21 'value' '' '' 14 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+22 'inform' '' '' 14 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+24 'n' '' '' 23 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+25 'z' '' '' 23 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+27 'n' '' '' 26 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+28 'z' '' '' 26 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
)
('adapt' 0 2 'sadapt' 0 3)
diff --git a/pywafo/src/wafo/source/rind2007/c1c2mod.mod b/pywafo/src/wafo/source/rind2007/c1c2mod.mod
index 1bd58ff..3c3d338 100644
--- a/pywafo/src/wafo/source/rind2007/c1c2mod.mod
+++ b/pywafo/src/wafo/source/rind2007/c1c2mod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from rind71mod.f on Fri Apr 05 14:43:36 2013
-MD5:03dc18351a9cdc1dd505edc7a8479944 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from rind71mod.f
+MD5:29854c062906bbb41e95ea0739b932af -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
@@ -14,27 +14,27 @@ MD5:03dc18351a9cdc1dd505edc7a8479944 -- If you edit this, you'll get what you de
()
-(2 'c1c2' 'c1c2mod' 'c1c2' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 UNKNOWN ())
-3 0 (4 5 6 7 8 9) () 0 () () () 0 0)
-10 'c1c2mod' 'c1c2mod' 'c1c2mod' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
-6 'cm' '' 'cm' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-9 'ind' '' 'ind' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1 ASSUMED_SHAPE (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-5 'c2' '' 'c2' 3 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-8 'sq' '' 'sq' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-4 'c1' '' 'c1' 3 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-7 'b1' '' 'b1' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+(2 'c1c2' 'c1c2mod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC IMPLICIT_PURE ALWAYS_EXPLICIT) (UNKNOWN 0
+0 0 0 UNKNOWN ()) 3 0 (4 5 6 7 8 9) () 0 () () () 0 0)
+10 'c1c2mod' 'c1c2mod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+4 'c1' '' '' 3 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+5 'c2' '' '' 3 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+6 'cm' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+7 'b1' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+8 'sq' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+9 'ind' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT
+(INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
)
('c1c2' 0 2 'c1c2mod' 0 10)
diff --git a/pywafo/src/wafo/source/rind2007/dkbvrcmod.mod b/pywafo/src/wafo/source/rind2007/dkbvrcmod.mod
index 7f73f0b..bd9f9e5 100644
--- a/pywafo/src/wafo/source/rind2007/dkbvrcmod.mod
+++ b/pywafo/src/wafo/source/rind2007/dkbvrcmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from intmodule.f on Tue Mar 27 09:05:13 2012
-MD5:b6f4cab19d3974f3ff5593102c4c0dfd -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from intmodule.f
+MD5:5db9060e86b2574cd530f108139d8f83 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,33 +14,33 @@ MD5:b6f4cab19d3974f3ff5593102c4c0dfd -- If you edit this, you'll get what you de
()
-(2 'dkbvrc' 'dkbvrcmod' 'dkbvrc' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 3 0 (4 5 6 7 8 9 10 11 12) () 0 () () () 0 0)
-4 'ndim' '' 'ndim' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-5 'minvls' '' 'minvls' 3 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-6 'maxvls' '' 'maxvls' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-7 'functn' '' 'functn' 3 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY
-UNKNOWN 0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 13 0 (
-14 15) () 7 () () () 0 0)
-8 'abseps' '' 'abseps' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 'releps' '' 'releps' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-10 'abserr' '' 'abserr' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-11 'finest' '' 'finest' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-12 'inform' '' 'inform' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-14 'n' '' 'n' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-15 'z' '' 'z' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+(2 'dkbvrc' 'dkbvrcmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 3 0 (4 5 6
+7 8 9 10 11 12) () 0 () () () 0 0)
+4 'ndim' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+5 'minvls' '' '' 3 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+6 'maxvls' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+7 'functn' '' '' 3 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY UNKNOWN
+0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 13 0 (14 15)
+() 7 () () () 0 0)
+8 'abseps' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+9 'releps' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+10 'abserr' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+11 'finest' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+12 'inform' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+14 'n' '' '' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+15 'z' '' '' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
)
('dkbvrc' 0 2)
diff --git a/pywafo/src/wafo/source/rind2007/fimod.mod b/pywafo/src/wafo/source/rind2007/fimod.mod
index 440a280..0646be5 100644
--- a/pywafo/src/wafo/source/rind2007/fimod.mod
+++ b/pywafo/src/wafo/source/rind2007/fimod.mod
@@ -1,15 +1,15 @@
-GFORTRAN module version '4' created from fimod.f on Tue Mar 27 09:05:13 2012
-MD5:a146ceadee4e001c58457ec1a4dcc4bc -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from fimod.f
+MD5:91d910b9ce2741a570f24f5bec6fdc83 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
()
-(('bvu' 'fimod' 2) ('bvtl' 'fimod' 3) ('exinv' 'fimod' 4) ('bvnmvn'
-'fimod' 5) ('fi' 'fimod' 6) ('fiinv' 'fimod' 7) ('gausint' 'fimod' 8) (
-'mvnlimits' 'fimod' 9) ('normprb' 'fimod' 10) ('mvnlms' 'fimod' 11) (
-'gausint2' 'fimod' 12) ('tvtl' 'fimod' 13) ('studnt' 'fimod' 14) ('exlms'
+(('bvnmvn' 'fimod' 2) ('bvtl' 'fimod' 3) ('bvu' 'fimod' 4) ('exinv'
+'fimod' 5) ('exlms' 'fimod' 6) ('fi' 'fimod' 7) ('fiinv' 'fimod' 8) (
+'gausint' 'fimod' 9) ('gausint2' 'fimod' 10) ('mvnlimits' 'fimod' 11) (
+'mvnlms' 'fimod' 12) ('normprb' 'fimod' 13) ('studnt' 'fimod' 14) ('tvtl'
'fimod' 15))
()
@@ -18,200 +18,200 @@ MD5:a146ceadee4e001c58457ec1a4dcc4bc -- If you edit this, you'll get what you de
()
-(5 'bvnmvn' 'fimod' 'bvnmvn' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 FUNCTION GENERIC ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ())
-16 0 (17 18 19 20) () 21 () () () 0 0)
-3 'bvtl' 'fimod' 'bvtl' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 22 0 (23 24 25 26) ()
-3 () () () 0 0)
-2 'bvu' 'fimod' 'bvu' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 27 0 (28 29 30) () 31
-() () () 0 0)
-4 'exinv' 'fimod' 'exinv' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 32 0 (33 34 35 36) ()
-37 () () () 0 0)
-15 'exlms' 'fimod' 'exlms' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN ()) 38 0 (39 40
-41 42 43 44 45 46) () 0 () () () 0 0)
-6 'fi' 'fimod' 'fi' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 47 0 (48) () 49 () ()
-() 0 0)
-7 'fiinv' 'fimod' 'fiinv' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 50 0 (51) () 52 () ()
+(2 'bvnmvn' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 16
+0 (17 18 19 20) () 21 () () () 0 0)
+3 'bvtl' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 0 REAL ()) 22 0 (23 24 25 26)
+() 3 () () () 0 0)
+4 'bvu' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN
+0 0 FUNCTION GENERIC) (REAL 8 0 0 0 REAL ()) 27 0 (28 29 30) () 31 () ()
() 0 0)
-8 'gausint' 'fimod' 'gausint' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 53 0 (54 55 56
-57 58 59) () 60 () () () 0 0)
-12 'gausint2' 'fimod' 'gausint2' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 61 0
-(62 63 64 65) () 66 () () () 0 0)
-9 'mvnlimits' 'fimod' 'mvnlimits' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (
-UNKNOWN 0 0 0 UNKNOWN ()) 67 0 (68 69 70 71 72 73) () 0 () () () 0 0)
-11 'mvnlms' 'fimod' 'mvnlms' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN ()) 74 0 (
-75 76 77 78 79) () 0 () () () 0 0)
-10 'normprb' 'fimod' 'normprb' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0
-UNKNOWN ()) 80 0 (81 82 83) () 0 () () () 0 0)
-14 'studnt' 'fimod' 'studnt' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 REAL ()) 84 0 (85 86) ()
-14 () () () 0 0)
-87 'tvnmvn' 'fimod' 'tvnmvn' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 88 0 (
-89 90 91 92 93) () 94 () () () 0 0)
-13 'tvtl' 'fimod' 'tvtl' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 FUNCTION GENERIC ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 95 0
-(96 97 98 99) () 13 () () () 0 0)
-51 'p' '' 'p' 50 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-52 'val' '' 'val' 50 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-81 'z' '' 'z' 80 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-82 'p' '' 'p' 80 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-83 'q' '' 'q' 80 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-OPTIONAL DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-48 'z' '' 'z' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-49 'value' '' 'value' 47 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-68 'a' '' 'a' 67 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-69 'b' '' 'b' 67 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-70 'infin' '' 'infin' 67 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-71 'ap' '' 'ap' 67 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-72 'prb' '' 'prb' 67 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-OPTIONAL DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-73 'aq' '' 'aq' 67 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-OPTIONAL DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-75 'a' '' 'a' 74 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-76 'b' '' 'b' 74 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-77 'infin' '' 'infin' 74 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-78 'lower' '' 'lower' 74 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-79 'upper' '' 'upper' 74 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-89 'a' '' 'a' 88 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-90 'b' '' 'b' 88 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-91 'infin' '' 'infin' 88 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1 ASSUMED_SHAPE (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-92 'r' '' 'r' 88 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-93 'epsi' '' 'epsi' 88 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-94 'val' '' 'val' 88 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
-() () 0 0)
-17 'lower' '' 'lower' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-18 'upper' '' 'upper' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-19 'infin' '' 'infin' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1 ASSUMED_SHAPE (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-20 'correl' '' 'correl' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-21 'val' '' 'val' 16 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
-() () 0 0)
-28 'sh' '' 'sh' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-29 'sk' '' 'sk' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-30 'r' '' 'r' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-31 'val' '' 'val' 27 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-85 'nu' '' 'nu' 84 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-86 't' '' 't' 84 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-23 'nu' '' 'nu' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-24 'dh' '' 'dh' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-25 'dk' '' 'dk' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-26 'r' '' 'r' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-96 'nu1' '' 'nu1' 95 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-97 'h' '' 'h' 95 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-98 'r' '' 'r' 95 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-99 'epsi' '' 'epsi' 95 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-54 'x1' '' 'x1' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-55 'x2' '' 'x2' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-56 'a' '' 'a' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-57 'b' '' 'b' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-58 'c' '' 'c' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-59 'd' '' 'd' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-60 'value' '' 'value' 53 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-62 'x1' '' 'x1' 61 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-63 'x2' '' 'x2' 61 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-64 'a' '' 'a' 61 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-65 'b' '' 'b' 61 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-66 'value' '' 'value' 61 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-39 'a' '' 'a' 38 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-40 'x1' '' 'x1' 38 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-41 'x2' '' 'x2' 38 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-42 'infin' '' 'infin' 38 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-43 'lower' '' 'lower' 38 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-44 'upper' '' 'upper' 38 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-45 'ca' '' 'ca' 38 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-46 'pa' '' 'pa' 38 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-33 'p' '' 'p' 32 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-34 'a' '' 'a' 32 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-35 'ca' '' 'ca' 32 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-36 'pa' '' 'pa' 32 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-37 'val' '' 'val' 32 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+5 'exinv' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 0 REAL ()) 32 0 (33 34 35 36)
+() 37 () () () 0 0)
+6 'exlms' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 38 0 (39 40
+41 42 43 44 45 46) () 0 () () () 0 0)
+7 'fi' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL UNKNOWN
+0 0 FUNCTION GENERIC IMPLICIT_PURE) (REAL 8 0 0 0 REAL ()) 47 0 (48) ()
+49 () () () 0 0)
+8 'fiinv' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC IMPLICIT_PURE) (REAL 8 0 0 0 REAL ()) 50 0
+(51) () 52 () () () 0 0)
+9 'gausint' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 0 REAL ()) 53 0 (54 55 56 57
+58 59) () 60 () () () 0 0)
+10 'gausint2' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 0 REAL ()) 61 0 (62 63 64 65)
+() 66 () () () 0 0)
+11 'mvnlimits' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0 UNKNOWN
+()) 67 0 (68 69 70 71 72 73) () 0 () () () 0 0)
+12 'mvnlms' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 74 0 (75 76
+77 78 79) () 0 () () () 0 0)
+13 'normprb' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC IMPLICIT_PURE ALWAYS_EXPLICIT) (UNKNOWN 0
+0 0 0 UNKNOWN ()) 80 0 (81 82 83) () 0 () () () 0 0)
+14 'studnt' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC) (REAL 8 0 0 0 REAL ()) 84 0 (85 86) () 14
+() () () 0 0)
+87 'tvnmvn' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 88 0 (89 90
+91 92 93) () 94 () () () 0 0)
+15 'tvtl' 'fimod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 95
+0 (96 97 98 99) () 15 () () () 0 0)
+17 'lower' '' '' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+18 'upper' '' '' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+19 'infin' '' '' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0 ASSUMED_SHAPE
+(CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+20 'correl' '' '' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+21 'val' '' '' 16 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 RESULT ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () ()
+0 0)
+23 'nu' '' '' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+24 'dh' '' '' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+25 'dk' '' '' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+26 'r' '' '' 22 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+28 'sh' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+29 'sk' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+30 'r' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+31 'val' '' '' 27 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 RESULT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+33 'p' '' '' 32 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+34 'a' '' '' 32 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+35 'ca' '' '' 32 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+36 'pa' '' '' 32 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+37 'val' '' '' 32 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 RESULT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+39 'a' '' '' 38 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+40 'x1' '' '' 38 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+41 'x2' '' '' 38 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+42 'infin' '' '' 38 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+43 'lower' '' '' 38 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+44 'upper' '' '' 38 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+45 'ca' '' '' 38 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+46 'pa' '' '' 38 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+48 'z' '' '' 47 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+49 'value' '' '' 47 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 RESULT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+51 'p' '' '' 50 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+52 'val' '' '' 50 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 RESULT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+54 'x1' '' '' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+55 'x2' '' '' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+56 'a' '' '' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+57 'b' '' '' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+58 'c' '' '' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+59 'd' '' '' 53 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+60 'value' '' '' 53 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 RESULT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+62 'x1' '' '' 61 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+63 'x2' '' '' 61 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+64 'a' '' '' 61 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+65 'b' '' '' 61 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+66 'value' '' '' 61 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 RESULT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+68 'a' '' '' 67 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+69 'b' '' '' 67 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+70 'infin' '' '' 67 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+71 'ap' '' '' 67 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+72 'prb' '' '' 67 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+73 'aq' '' '' 67 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+75 'a' '' '' 74 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+76 'b' '' '' 74 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+77 'infin' '' '' 74 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+78 'lower' '' '' 74 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+79 'upper' '' '' 74 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+81 'z' '' '' 80 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+82 'p' '' '' 80 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+83 'q' '' '' 80 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 OPTIONAL
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+85 'nu' '' '' 84 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+86 't' '' '' 84 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+89 'a' '' '' 88 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+90 'b' '' '' 88 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+91 'infin' '' '' 88 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0 ASSUMED_SHAPE
+(CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+92 'r' '' '' 88 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+93 'epsi' '' '' 88 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+94 'val' '' '' 88 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 RESULT ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () ()
+0 0)
+96 'nu1' '' '' 95 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+97 'h' '' '' 95 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+98 'r' '' '' 95 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+99 'epsi' '' '' 95 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
)
-('bvnmvn' 0 5 'bvtl' 0 3 'bvu' 0 2 'exinv' 0 4 'exlms' 0 15 'fi' 0 6
-'fiinv' 0 7 'gausint' 0 8 'gausint2' 0 12 'mvnlimits' 0 9 'mvnlms' 0 11
-'normprb' 0 10 'studnt' 0 14 'tvnmvn' 0 87 'tvtl' 0 13)
+('bvnmvn' 0 2 'bvtl' 0 3 'bvu' 0 4 'exinv' 0 5 'exlms' 0 6 'fi' 0 7
+'fiinv' 0 8 'gausint' 0 9 'gausint2' 0 10 'mvnlimits' 0 11 'mvnlms' 0 12
+'normprb' 0 13 'studnt' 0 14 'tvnmvn' 0 87 'tvtl' 0 15)
diff --git a/pywafo/src/wafo/source/rind2007/funcmod.mod b/pywafo/src/wafo/source/rind2007/funcmod.mod
index adf5a35..cae4078 100644
--- a/pywafo/src/wafo/source/rind2007/funcmod.mod
+++ b/pywafo/src/wafo/source/rind2007/funcmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from rind71mod.f on Tue Mar 27 09:05:15 2012
-MD5:9f2decea4665f05cb1f13246613c3d3e -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from rind71mod.f
+MD5:6bcfb6bfc6e35ac2718a061882cb76df -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
@@ -14,48 +14,48 @@ MD5:9f2decea4665f05cb1f13246613c3d3e -- If you edit this, you'll get what you de
()
-(4 'big' 'funcmod' 'big' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (
-2 DEFERRED () () () ()) 0 () () () 0 0)
-5 'cm' 'funcmod' 'cm' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (1
-DEFERRED () ()) 0 () () () 0 0)
-6 'cmn' 'funcmod' 'cmn' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (1
-DEFERRED () ()) 0 () () () 0 0)
-7 'funcmod' 'funcmod' 'funcmod' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
-2 'mvnfun' 'funcmod' 'mvnfun' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 FUNCTION GENERIC ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ())
-8 0 (9 10) () 11 () () () 0 0)
-3 'mvnfun2' 'funcmod' 'mvnfun2' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 FUNCTION GENERIC ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ())
-12 0 (13 14) () 15 () () () 0 0)
-16 'pl1' 'funcmod' 'pl1' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-17 'pu1' 'funcmod' 'pu1' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-18 'xc' 'funcmod' 'xc' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (1
-DEFERRED () ()) 0 () () () 0 0)
-19 'xd' 'funcmod' 'xd' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (1
-DEFERRED () ()) 0 () () () 0 0)
-9 'ndim' '' 'ndim' 8 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-10 'w' '' 'w' 8 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT (INTEGER 4
-0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-11 'xind' '' 'xind' 8 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
-() () 0 0)
-13 'ndim' '' 'ndim' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-14 'w' '' 'w' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-15 'xind' '' 'xind' 12 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
+(4 'big' 'funcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 0 REAL ()) 0 0 () (
+2 0 DEFERRED () () () ()) 0 () () () 0 0)
+5 'cm' 'funcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 0 REAL ()) 0 0 () (
+1 0 DEFERRED () ()) 0 () () () 0 0)
+6 'cmn' 'funcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 0 REAL ()) 0 0 () (
+1 0 DEFERRED () ()) 0 () () () 0 0)
+7 'funcmod' 'funcmod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+2 'mvnfun' 'funcmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 8 0
+(9 10) () 11 () () () 0 0)
+3 'mvnfun2' 'funcmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 12
+0 (13 14) () 15 () () () 0 0)
+16 'pl1' 'funcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+17 'pu1' 'funcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+18 'xc' 'funcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 0 REAL ()) 0 0 () (
+1 0 DEFERRED () ()) 0 () () () 0 0)
+19 'xd' 'funcmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 0 REAL ()) 0 0 () (
+1 0 DEFERRED () ()) 0 () () () 0 0)
+9 'ndim' '' '' 8 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+10 'w' '' '' 8 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+11 'xind' '' '' 8 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 RESULT ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () ()
+0 0)
+13 'ndim' '' '' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+14 'w' '' '' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+15 'xind' '' '' 12 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 RESULT ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 ()
() () 0 0)
)
diff --git a/pywafo/src/wafo/source/rind2007/globalconst.mod b/pywafo/src/wafo/source/rind2007/globalconst.mod
index 4adfb19..a68b060 100644
--- a/pywafo/src/wafo/source/rind2007/globalconst.mod
+++ b/pywafo/src/wafo/source/rind2007/globalconst.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from rindmod.f on Tue Mar 27 09:05:14 2012
-MD5:ae9c8f3a80b4cfd7e5dcaa5c3573dc85 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from rindmod.f
+MD5:f808c5946c0c41fb2c75e26aa349bbd9 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,51 +14,51 @@ MD5:ae9c8f3a80b4cfd7e5dcaa5c3573dc85 -- If you edit this, you'll get what you de
()
-(2 'ghalf' 'globalconst' 'ghalf' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.80000000000000@0') () 0 () () () 0 0)
-3 'ginfinity' 'globalconst' 'ginfinity' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.25000000000000@2') () 0 () () () 0 0)
-4 'globalconst' 'globalconst' 'globalconst' 1 ((MODULE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0
-() () () 0 0)
-5 'gone' 'globalconst' 'gone' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (CONSTANT (REAL 8
-0 0 REAL ()) 0 '0.10000000000000@1') () 0 () () () 0 0)
-6 'gpi' 'globalconst' 'gpi' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (CONSTANT (REAL 8
-0 0 REAL ()) 0 '0.3243f6a8885a22@1') () 0 () () () 0 0)
-7 'gpi1' 'globalconst' 'gpi1' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (CONSTANT (REAL 8
-0 0 REAL ()) 0 '0.517cc1b72721dc@0') () 0 () () () 0 0)
-8 'gsqpi' 'globalconst' 'gsqpi' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.1c5bf891b4ef7d@1') () 0 () () () 0 0)
-9 'gsqpi1' 'globalconst' 'gsqpi1' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.906eba8214dc78@0') () 0 () () () 0 0)
-10 'gsqtw' 'globalconst' 'gsqtw' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.16a09e667f3be3@1') () 0 () () () 0 0)
-11 'gsqtw1' 'globalconst' 'gsqtw1' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.b504f333f9df18@0') () 0 () () () 0 0)
-12 'gsqtwpi' 'globalconst' 'gsqtwpi' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.281b263fec4e08@1') () 0 () () () 0 0)
-13 'gsqtwpi1' 'globalconst' 'gsqtwpi1' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.662114cf50d880@0') () 0 () () () 0 0)
-14 'gtwo' 'globalconst' 'gtwo' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (CONSTANT (REAL 8
-0 0 REAL ()) 0 '0.20000000000000@1') () 0 () () () 0 0)
-15 'gtwpi' 'globalconst' 'gtwpi' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.6487ed5110b444@1') () 0 () () () 0 0)
-16 'gzero' 'globalconst' 'gzero' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.00000000000000@0') () 0 () () () 0 0)
+(2 'ghalf' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.80000000000000@0') () 0 () () () 0 0)
+3 'ginfinity' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.25000000000000@2') () 0 () () () 0 0)
+4 'globalconst' 'globalconst' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0
+0)
+5 'gone' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.10000000000000@1') () 0 () () () 0 0)
+6 'gpi' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.3243f6a8885a22@1') () 0 () () () 0 0)
+7 'gpi1' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.517cc1b72721dc@0') () 0 () () () 0 0)
+8 'gsqpi' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.1c5bf891b4ef7d@1') () 0 () () () 0 0)
+9 'gsqpi1' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.906eba8214dc78@0') () 0 () () () 0 0)
+10 'gsqtw' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.16a09e667f3be3@1') () 0 () () () 0 0)
+11 'gsqtw1' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.b504f333f9df18@0') () 0 () () () 0 0)
+12 'gsqtwpi' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.281b263fec4e08@1') () 0 () () () 0 0)
+13 'gsqtwpi1' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.662114cf50d880@0') () 0 () () () 0 0)
+14 'gtwo' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.20000000000000@1') () 0 () () () 0 0)
+15 'gtwpi' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.6487ed5110b444@1') () 0 () () () 0 0)
+16 'gzero' 'globalconst' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.00000000000000@0') () 0 () () () 0 0)
)
('ghalf' 0 2 'ginfinity' 0 3 'globalconst' 0 4 'gone' 0 5 'gpi' 0 6 'gpi1'
diff --git a/pywafo/src/wafo/source/rind2007/globaldata.mod b/pywafo/src/wafo/source/rind2007/globaldata.mod
index 8ce3fb9..9e9c34a 100644
--- a/pywafo/src/wafo/source/rind2007/globaldata.mod
+++ b/pywafo/src/wafo/source/rind2007/globaldata.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from rind71mod.f on Tue Mar 27 09:05:15 2012
-MD5:64b6163cdd038fc7793132a2cb7cee10 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from rind71mod.f
+MD5:60dce69be122281d64fa324954fe4b9a -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,141 +14,148 @@ MD5:64b6163cdd038fc7793132a2cb7cee10 -- If you edit this, you'll get what you de
()
-(2 '__convert_r4_r8' '(intrinsic)' '__convert_r4_r8' 1 ((PROCEDURE
-UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 FUNCTION ELEMENTAL PURE)
-(REAL 8 0 0 REAL ()) 0 0 () () 2 () () () 0 0)
-3 'c1c2det' 'globaldata' 'c1c2det' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (LOGICAL 4 0 0 LOGICAL ()) 0 0 ()
-(CONSTANT (LOGICAL 4 0 0 LOGICAL ()) 0 1) () 0 () () () 0 0)
-4 'cepss' 'globaldata' 'cepss' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-5 'cov' 'globaldata' 'cov' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (
-1 DEFERRED () ()) 0 () () () 0 0)
-6 'covix' 'globaldata' 'covix' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-7 'eps' 'globaldata' 'eps' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-8 'eps0' 'globaldata' 'eps0' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 'eps2' 'globaldata' 'eps2' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-10 'epss' 'globaldata' 'epss' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-11 'fxcepss' 'globaldata' 'fxcepss' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0
-() () () 0 0)
-12 'globaldata' 'globaldata' 'globaldata' 1 ((MODULE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0
-() () () 0 0)
-13 'hlo' 'globaldata' 'hlo' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (
-1 DEFERRED () ()) 0 () () () 0 0)
-14 'hup' 'globaldata' 'hup' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (
-1 DEFERRED () ()) 0 () () () 0 0)
-15 'index1' 'globaldata' 'index1' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 ALLOCATABLE DIMENSION) (INTEGER 4 0 0
-INTEGER ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
-16 'indxtd' 'globaldata' 'indxtd' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 ALLOCATABLE DIMENSION) (INTEGER 4 0 0
-INTEGER ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
-17 'mb' 'globaldata' 'mb' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-18 'nc' 'globaldata' 'nc' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-19 'nd' 'globaldata' 'nd' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-20 'ni' 'globaldata' 'ni' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-21 'nit' 'globaldata' 'nit' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
+(2 '__convert_r4_r8' '(intrinsic)' '' 1 ((PROCEDURE UNKNOWN-INTENT
+UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 FUNCTION ELEMENTAL PURE) (REAL 8 0 0 0
+REAL ()) 0 0 () () 2 () () () 0 0)
+3 'c1c2det' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (LOGICAL 4 0 0 0 LOGICAL ()) 0 0 () (
+CONSTANT (LOGICAL 4 0 0 0 LOGICAL ()) 0 1) () 0 () () () 0 0)
+4 'cepss' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+5 'cov' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 0 REAL ()) 0 0 () (
+1 0 DEFERRED () ()) 0 () () () 0 0)
+6 'covix' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
() 0 0)
-22 'nj' 'globaldata' 'nj' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
+7 'eps' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+8 'eps0' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+9 'eps2' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+10 'epss' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+11 'fxcepss' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+12 'globaldata' 'globaldata' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0
+0)
+13 'hlo' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 0 REAL ())
+0 0 () (1 0 DEFERRED () ()) 0 () () () 0 0)
+14 'hup' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 0 REAL ())
+0 0 () (1 0 DEFERRED () ()) 0 () () () 0 0)
+15 'index1' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (INTEGER 4 0 0 0
+INTEGER ()) 0 0 () (1 0 DEFERRED () ()) 0 () () () 0 0)
+16 'indxtd' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (INTEGER 4 0 0 0
+INTEGER ()) 0 0 () (1 0 DEFERRED () ()) 0 () () () 0 0)
+17 'mb' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+18 'nc' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+19 'nd' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+20 'ni' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+21 'nit' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
() 0 0)
-23 'njj' 'globaldata' 'njj' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
+22 'nj' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+23 'njj' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
() 0 0)
-24 'nsimmax' 'globaldata' 'nsimmax' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 ()
-() 0 () () () 0 0)
-25 'nsimmin' 'globaldata' 'nsimmin' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 ()
-() 0 () () () 0 0)
-26 'nsxdj' 'globaldata' 'nsxdj' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 ALLOCATABLE DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0
-0 () (1 DEFERRED () ()) 0 () () () 0 0)
-27 'nsxtmj' 'globaldata' 'nsxtmj' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 ALLOCATABLE DIMENSION) (INTEGER 4 0 0
-INTEGER ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
-28 'nt' 'globaldata' 'nt' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-29 'ntd' 'globaldata' 'ntd' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-30 'ntdc' 'globaldata' 'ntdc' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-31 'ntscis' 'globaldata' 'ntscis' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 ()
-() 0 () () () 0 0)
-32 'nugget' 'globaldata' 'nugget' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0
-() () () 0 0)
-33 'nx' 'globaldata' 'nx' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-34 'pi' 'globaldata' 'pi' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (CONSTANT (REAL 8
-0 0 REAL ()) 0 '0.3243f6a8885a22@1') () 0 () () () 0 0)
-35 'pi1' 'globaldata' 'pi1' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (CONSTANT (REAL 8
-0 0 REAL ()) 0 '0.517cc1b72721dc@0') () 0 () () () 0 0)
-36 'plowgth' 'globaldata' 'plowgth' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.00000000000000@0') () 0 () () () 0 0)
-37 'releps' 'globaldata' 'releps' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0
-() () () 0 0)
-38 'scis' 'globaldata' 'scis' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
+24 'nsimmax' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
() 0 0)
-39 'sq' 'globaldata' 'sq' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (
-2 DEFERRED () () () ()) 0 () () () 0 0)
-40 'sqpi' 'globaldata' 'sqpi' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (CONSTANT (REAL 8
-0 0 REAL ()) 0 '0.1c5bf891b4ef7d@1') () 0 () () () 0 0)
-41 'sqpi1' 'globaldata' 'sqpi1' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.906eba8214dc78@0') () 0 () () () 0 0)
-42 'sqtwo' 'globaldata' 'sqtwo' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.16a09e667f3be3@1') () 0 () () () 0 0)
-43 'sqtwo1' 'globaldata' 'sqtwo1' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.b504f333f9df18@0') () 0 () () () 0 0)
-44 'sqtwopi1' 'globaldata' 'sqtwopi1' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.662114cf50d880@0') () 0 () () () 0 0)
-45 'twopi' 'globaldata' 'twopi' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () (
-CONSTANT (REAL 8 0 0 REAL ()) 0 '0.6487ed5110b444@1') () 0 () () () 0 0)
-46 'usec1c2' 'globaldata' 'usec1c2' 1 ((PARAMETER UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (LOGICAL 4 0 0 LOGICAL ()) 0 0 ()
-(CONSTANT (LOGICAL 4 0 0 LOGICAL ()) 0 1) () 0 () () () 0 0)
-47 'xceps2' 'globaldata' 'xceps2' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0
-() () () 0 0)
-48 'xcscale' 'globaldata' 'xcscale' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0
-() () () 0 0)
-49 'xcutoff' 'globaldata' 'xcutoff' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0
-() () () 0 0)
-50 'xedni' 'globaldata' 'xedni' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 ALLOCATABLE DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0
-0 () (1 DEFERRED () ()) 0 () () () 0 0)
-51 'xsplt' 'globaldata' 'xsplt' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+25 'nsimmin' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+26 'nsxdj' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (INTEGER 4 0 0 0
+INTEGER ()) 0 0 () (1 0 DEFERRED () ()) 0 () () () 0 0)
+27 'nsxtmj' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (INTEGER 4 0 0 0
+INTEGER ()) 0 0 () (1 0 DEFERRED () ()) 0 () () () 0 0)
+28 'nt' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+29 'ntd' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+30 'ntdc' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+31 'ntscis' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+32 'nugget' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+33 'nx' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+34 'pi' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.3243f6a8885a22@1') () 0 () () () 0 0)
+35 'pi1' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.517cc1b72721dc@0') () 0 () () () 0 0)
+36 'plowgth' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.00000000000000@0') () 0 () () () 0 0)
+37 'releps' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+38 'scis' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+39 'sq' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (REAL 8 0 0 0 REAL ()) 0 0 () (
+2 0 DEFERRED () () () ()) 0 () () () 0 0)
+40 'sqpi' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.1c5bf891b4ef7d@1') () 0 () () () 0 0)
+41 'sqpi1' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.906eba8214dc78@0') () 0 () () () 0 0)
+42 'sqtwo' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.16a09e667f3be3@1') () 0 () () () 0 0)
+43 'sqtwo1' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.b504f333f9df18@0') () 0 () () () 0 0)
+44 'sqtwopi1' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.662114cf50d880@0') () 0 () () () 0 0)
+45 'twopi' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () (CONSTANT (
+REAL 8 0 0 0 REAL ()) 0 '0.6487ed5110b444@1') () 0 () () () 0 0)
+46 'usec1c2' 'globaldata' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (LOGICAL 4 0 0 0 LOGICAL ()) 0 0 () (
+CONSTANT (LOGICAL 4 0 0 0 LOGICAL ()) 0 1) () 0 () () () 0 0)
+47 'xceps2' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+48 'xcscale' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+49 'xcutoff' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+50 'xedni' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0 ALLOCATABLE DIMENSION) (INTEGER 4 0 0 0
+INTEGER ()) 0 0 () (1 0 DEFERRED () ()) 0 () () () 0 0)
+51 'xsplt' 'globaldata' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
)
('__convert_r4_r8' 0 2 'c1c2det' 0 3 'cepss' 0 4 'cov' 0 5 'covix' 0 6
diff --git a/pywafo/src/wafo/source/rind2007/jacobmod.mod b/pywafo/src/wafo/source/rind2007/jacobmod.mod
index 6b29ecb..7ef41be 100644
--- a/pywafo/src/wafo/source/rind2007/jacobmod.mod
+++ b/pywafo/src/wafo/source/rind2007/jacobmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from jacobmod.f on Tue Mar 27 09:05:13 2012
-MD5:b29efb77c49d92c2e25a3931a79a5cbd -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from jacobmod.f
+MD5:7a6067e5bb3ccfd4f42952ae9bfa1ad5 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,17 +14,17 @@ MD5:b29efb77c49d92c2e25a3931a79a5cbd -- If you edit this, you'll get what you de
()
-(2 'jacob' 'jacobmod' 'jacob' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 FUNCTION GENERIC ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ())
-3 0 (4 5) () 6 () () () 0 0)
-4 'xd' '' 'xd' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-5 'xc' '' 'xc' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-6 'value1' '' 'value1' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 RESULT ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
+(2 'jacob' 'jacobmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 FUNCTION GENERIC IMPLICIT_PURE ALWAYS_EXPLICIT) (REAL 8 0 0
+0 REAL ()) 3 0 (4 5) () 6 () () () 0 0)
+4 'xd' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+5 'xc' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+6 'value1' '' '' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 RESULT ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 ()
() () 0 0)
)
diff --git a/pywafo/src/wafo/source/rind2007/krbvrcmod.mod b/pywafo/src/wafo/source/rind2007/krbvrcmod.mod
index d2594fd..fd1c40e 100644
--- a/pywafo/src/wafo/source/rind2007/krbvrcmod.mod
+++ b/pywafo/src/wafo/source/rind2007/krbvrcmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from intmodule.f on Tue Mar 27 09:05:12 2012
-MD5:5424d0fd5c64596edc31ebaf26119169 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from intmodule.f
+MD5:589ca1c63e3206ea8f2c160cd1272c74 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,33 +14,33 @@ MD5:5424d0fd5c64596edc31ebaf26119169 -- If you edit this, you'll get what you de
()
-(2 'krbvrc' 'krbvrcmod' 'krbvrc' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 3 0 (4 5 6 7 8 9 10 11 12) () 0 () () () 0 0)
-4 'ndim' '' 'ndim' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-5 'minvls' '' 'minvls' 3 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-6 'maxvls' '' 'maxvls' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-7 'functn' '' 'functn' 3 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY
-UNKNOWN 0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 13 0 (
-14 15) () 7 () () () 0 0)
-8 'abseps' '' 'abseps' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 'releps' '' 'releps' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-10 'abserr' '' 'abserr' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-11 'finest' '' 'finest' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-12 'inform' '' 'inform' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-14 'n' '' 'n' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-15 'z' '' 'z' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+(2 'krbvrc' 'krbvrcmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 3 0 (4 5 6
+7 8 9 10 11 12) () 0 () () () 0 0)
+4 'ndim' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+5 'minvls' '' '' 3 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+6 'maxvls' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+7 'functn' '' '' 3 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY UNKNOWN
+0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 13 0 (14 15)
+() 7 () () () 0 0)
+8 'abseps' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+9 'releps' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+10 'abserr' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+11 'finest' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+12 'inform' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+14 'n' '' '' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+15 'z' '' '' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
)
('krbvrc' 0 2)
diff --git a/pywafo/src/wafo/source/rind2007/krobovmod.mod b/pywafo/src/wafo/source/rind2007/krobovmod.mod
index e296e8f..8d58b44 100644
--- a/pywafo/src/wafo/source/rind2007/krobovmod.mod
+++ b/pywafo/src/wafo/source/rind2007/krobovmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from intmodule.f on Fri Apr 05 14:43:34 2013
-MD5:99db0c86db329df2a1ee0bbf67b9ec99 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from intmodule.f
+MD5:26b7b13d2d0907b2794fa7eafca04d0f -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,33 +14,33 @@ MD5:99db0c86db329df2a1ee0bbf67b9ec99 -- If you edit this, you'll get what you de
()
-(2 'krobov' 'krobovmod' 'krobov' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 3 0 (4 5 6 7 8 9 10 11 12) () 0 () () () 0 0)
-4 'ndim' '' 'ndim' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-8 'abseps' '' 'abseps' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-6 'maxvls' '' 'maxvls' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-9 'releps' '' 'releps' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-11 'finest' '' 'finest' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-12 'inform' '' 'inform' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-5 'minvls' '' 'minvls' 3 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-10 'abserr' '' 'abserr' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-7 'functn' '' 'functn' 3 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY
-UNKNOWN 0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 13 0 (
-14 15) () 7 () () () 0 0)
-15 'z' '' 'z' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-14 'n' '' 'n' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+(2 'krobov' 'krobovmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 3 0 (4 5 6
+7 8 9 10 11 12) () 0 () () () 0 0)
+4 'ndim' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+5 'minvls' '' '' 3 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+6 'maxvls' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+7 'functn' '' '' 3 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY UNKNOWN
+0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 13 0 (14 15)
+() 7 () () () 0 0)
+8 'abseps' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+9 'releps' '' '' 3 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+10 'abserr' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+11 'finest' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+12 'inform' '' '' 3 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+14 'n' '' '' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+15 'z' '' '' 13 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
)
('krobov' 0 2)
diff --git a/pywafo/src/wafo/source/rind2007/precisionmod.mod b/pywafo/src/wafo/source/rind2007/precisionmod.mod
index 29df071..bf83a2a 100644
--- a/pywafo/src/wafo/source/rind2007/precisionmod.mod
+++ b/pywafo/src/wafo/source/rind2007/precisionmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from intmodule.f on Tue Mar 27 09:05:13 2012
-MD5:daade6aaa08988dd52027fc3fdef05b7 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from intmodule.f
+MD5:05080898712bd6dd12fae55e2dee5263 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,15 +14,15 @@ MD5:daade6aaa08988dd52027fc3fdef05b7 -- If you edit this, you'll get what you de
()
-(2 'gp' 'precisionmod' 'gp' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '8') () 0 () () () 0 0)
-3 'precisionmod' 'precisionmod' 'precisionmod' 1 ((MODULE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0
-() () () 0 0)
-4 'selected_real_kind' '(intrinsic)' 'selected_real_kind' 1 ((PROCEDURE
-UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 FUNCTION) (UNKNOWN 0 0 0
-UNKNOWN ()) 0 0 () () 4 () () () 0 0)
+(2 'gp' 'precisionmod' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '8') () 0 () () () 0 0)
+3 'precisionmod' 'precisionmod' '' 1 ((MODULE UNKNOWN-INTENT
+UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () ()
+0 () () () 0 0)
+4 'selected_real_kind' '(intrinsic)' '' 1 ((PROCEDURE UNKNOWN-INTENT
+UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 FUNCTION) (UNKNOWN 0 0 0 0 UNKNOWN ())
+0 0 () () 4 () () () 0 0)
)
('gp' 0 2 'precisionmod' 0 3 'selected_real_kind' 0 4)
diff --git a/pywafo/src/wafo/source/rind2007/quad.mod b/pywafo/src/wafo/source/rind2007/quad.mod
index fa54374..d4d13a2 100644
--- a/pywafo/src/wafo/source/rind2007/quad.mod
+++ b/pywafo/src/wafo/source/rind2007/quad.mod
@@ -1,13 +1,13 @@
-GFORTRAN module version '4' created from rind71mod.f on Fri Apr 05 14:43:36 2013
-MD5:7894124eb6e1c7a3f817b6596dd96b5e -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from rind71mod.f
+MD5:1c9b25b1c3f920c049665fe552e92643 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
()
-(('gausshe0' 'quad' 2) ('gaussle0' 'quad' 3) ('gaussle1' 'quad' 4) (
-'gaussq' 'quad' 5) ('gaussle2' 'quad' 6) ('gaussla0' 'quad' 7))
+(('gausshe0' 'quad' 2) ('gaussla0' 'quad' 3) ('gaussle0' 'quad' 4) (
+'gaussle1' 'quad' 5) ('gaussle2' 'quad' 6) ('gaussq' 'quad' 7))
()
@@ -15,258 +15,259 @@ MD5:7894124eb6e1c7a3f817b6596dd96b5e -- If you edit this, you'll get what you de
()
-(8 '__convert_r4_r8' '(intrinsic)' '__convert_r4_r8' 1 ((PROCEDURE
-UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 FUNCTION ELEMENTAL PURE)
-(REAL 8 0 0 REAL ()) 0 0 () () 8 () () () 0 0)
-2 'gausshe0' 'quad' 'gausshe0' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0
-UNKNOWN ()) 9 0 (10 11 12 13 14 15) () 0 () () () 0 0)
-7 'gaussla0' 'quad' 'gaussla0' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0
-UNKNOWN ()) 16 0 (17 18 19 20 21 22) () 0 () () () 0 0)
-3 'gaussle0' 'quad' 'gaussle0' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0
-UNKNOWN ()) 23 0 (24 25 26 27 28 29) () 0 () () () 0 0)
-4 'gaussle1' 'quad' 'gaussle1' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0
-UNKNOWN ()) 30 0 (31 32 33 34 35) () 0 () () () 0 0)
-6 'gaussle2' 'quad' 'gaussle2' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0
-UNKNOWN ()) 36 0 (37 38 39 40 41 42) () 0 () () () 0 0)
-5 'gaussq' 'quad' 'gaussq' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
-UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 UNKNOWN ())
-43 0 (44 45 46 47 48 49) () 0 () () () 0 0)
-50 'hebp' 'quad' 'hebp' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0
-INTEGER ()) 0 '126')) 0 () () () 0 0)
-51 'heind' 'quad' 'heind' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
-ARRAY (INTEGER 4 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '0') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '2') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '5') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '9') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '14') ()) ((CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '20') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER
-()) 0 '27') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '35') ()) ((
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '44') ()) ((CONSTANT (INTEGER 4 0
-0 INTEGER ()) 0 '54') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '66')
-()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '82') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '102') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER
-()) 0 '126') ())) ('14')) (1 EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '14')) 0 () () () 0 0)
-52 'heqnr' 'quad' 'heqnr' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
-ARRAY (INTEGER 4 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '2') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '3') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '4') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '5') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '6') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '7') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '8') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '9') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '10') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER
-()) 0 '12') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '16') ()) ((
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '20') ()) ((CONSTANT (INTEGER 4 0
-0 INTEGER ()) 0 '24') ())) ('13')) (1 EXPLICIT (CONSTANT (INTEGER 4 0 0
-INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '13')) 0 () ()
-() 0 0)
-53 'hewf' 'quad' 'hewf' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0
-INTEGER ()) 0 '126')) 0 () () () 0 0)
-54 'i' 'quad' 'i' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-55 'labp0' 'quad' 'labp0' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 REAL ()) 0 0 () (1
-EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER
-4 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
-56 'labp5' 'quad' 'labp5' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 REAL ()) 0 0 () (1
-EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER
-4 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
-57 'laind' 'quad' 'laind' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
-ARRAY (INTEGER 4 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '0') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '2') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '5') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '9') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '14') ()) ((CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '20') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER
-()) 0 '27') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '35') ()) ((
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '44') ()) ((CONSTANT (INTEGER 4 0
-0 INTEGER ()) 0 '54') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '66')
-()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '82') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '102') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER
-()) 0 '126') ())) ('14')) (1 EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '14')) 0 () () () 0 0)
-58 'laqnr' 'quad' 'laqnr' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
-ARRAY (INTEGER 4 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '2') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '3') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '4') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '5') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '6') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '7') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '8') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '9') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '10') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER
-()) 0 '12') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '16') ()) ((
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '20') ()) ((CONSTANT (INTEGER 4 0
-0 INTEGER ()) 0 '24') ())) ('13')) (1 EXPLICIT (CONSTANT (INTEGER 4 0 0
-INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '13')) 0 () ()
-() 0 0)
-59 'lawf0' 'quad' 'lawf0' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 REAL ()) 0 0 () (1
-EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER
-4 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
-60 'lawf5' 'quad' 'lawf5' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 REAL ()) 0 0 () (1
-EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER
-4 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
-61 'le2qnr' 'quad' 'le2qnr' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
-() 0 0)
-62 'lebp' 'quad' 'lebp' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0
-INTEGER ()) 0 '126')) 0 () () () 0 0)
-63 'leind' 'quad' 'leind' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
-ARRAY (INTEGER 4 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '0') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '2') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '5') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '9') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '14') ()) ((CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '20') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER
-()) 0 '27') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '35') ()) ((
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '44') ()) ((CONSTANT (INTEGER 4 0
-0 INTEGER ()) 0 '54') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '66')
-()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '82') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '102') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER
-()) 0 '126') ())) ('14')) (1 EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '14')) 0 () () () 0 0)
-64 'leqnr' 'quad' 'leqnr' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
-ARRAY (INTEGER 4 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '2') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '3') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '4') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '5') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '6') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '7') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '8') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '9') ()) ((CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '10') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER
-()) 0 '12') ()) ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '16') ()) ((
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '20') ()) ((CONSTANT (INTEGER 4 0
-0 INTEGER ()) 0 '24') ())) ('13')) (1 EXPLICIT (CONSTANT (INTEGER 4 0 0
-INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '13')) 0 () ()
-() 0 0)
-65 'lewf' 'quad' 'lewf' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DIMENSION DATA) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0
-INTEGER ()) 0 '126')) 0 () () () 0 0)
-66 'minqnr' 'quad' 'minqnr' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
-() 0 0)
-67 'nhew' 'quad' 'nhew' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '13') () 0 () () () 0 0)
-68 'nint1' 'quad' 'nint1' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0 DIMENSION) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1
-EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER
-4 0 0 INTEGER ()) 0 '13')) 0 () () () 0 0)
-69 'nlaw' 'quad' 'nlaw' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '13') () 0 () () () 0 0)
-70 'nlew' 'quad' 'nlew' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '13') () 0 () () () 0 0)
-71 'pmax' 'quad' 'pmax' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '24') () 0 () () () 0 0)
-72 'quad' 'quad' 'quad' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
-73 'siznint' 'quad' 'siznint' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '13') () 0 () () () 0 0)
-31 'n' '' 'n' 30 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-32 'wfout' '' 'wfout' 30 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-33 'bpout' '' 'bpout' 30 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-34 'xmi' '' 'xmi' 30 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-35 'xma' '' 'xma' 30 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-24 'n' '' 'n' 23 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-25 'wfout' '' 'wfout' 23 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-26 'bpout' '' 'bpout' 23 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-27 'xmi' '' 'xmi' 23 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-28 'xma' '' 'xma' 23 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-29 'n0' '' 'n0' 23 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-37 'n' '' 'n' 36 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-38 'wfout' '' 'wfout' 36 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-39 'bpout' '' 'bpout' 36 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-40 'xmi' '' 'xmi' 36 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-41 'xma' '' 'xma' 36 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-42 'n0' '' 'n0' 36 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-10 'n' '' 'n' 9 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-11 'wfout' '' 'wfout' 9 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-12 'bpout' '' 'bpout' 9 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-13 'xmi' '' 'xmi' 9 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-14 'xma' '' 'xma' 9 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-15 'n0' '' 'n0' 9 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-17 'n' '' 'n' 16 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-18 'wfout' '' 'wfout' 16 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-19 'bpout' '' 'bpout' 16 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-20 'xmi' '' 'xmi' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-21 'xma' '' 'xma' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-22 'n0' '' 'n0' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-45 'wf' '' 'wf' 43 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-44 'n' '' 'n' 43 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-46 'bp' '' 'bp' 43 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-47 'xmi' '' 'xmi' 43 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-48 'xma' '' 'xma' 43 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-49 'n0' '' 'n0' 43 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+(8 '__convert_r4_r8' '(intrinsic)' '' 1 ((PROCEDURE UNKNOWN-INTENT
+UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 FUNCTION ELEMENTAL PURE) (REAL 8 0 0 0
+REAL ()) 0 0 () () 8 () () () 0 0)
+2 'gausshe0' 'quad' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0 UNKNOWN
+()) 9 0 (10 11 12 13 14 15) () 0 () () () 0 0)
+3 'gaussla0' 'quad' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0 UNKNOWN
+()) 16 0 (17 18 19 20 21 22) () 0 () () () 0 0)
+4 'gaussle0' 'quad' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0 UNKNOWN
+()) 23 0 (24 25 26 27 28 29) () 0 () () () 0 0)
+5 'gaussle1' 'quad' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0 UNKNOWN
+()) 30 0 (31 32 33 34 35) () 0 () () () 0 0)
+6 'gaussle2' 'quad' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC IMPLICIT_PURE ALWAYS_EXPLICIT) (UNKNOWN 0
+0 0 0 UNKNOWN ()) 36 0 (37 38 39 40 41 42) () 0 () () () 0 0)
+7 'gaussq' 'quad' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0 UNKNOWN
+()) 43 0 (44 45 46 47 48 49) () 0 () () () 0 0)
+50 'hebp' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION DATA) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
+51 'heind' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (ARRAY
+(INTEGER 4 0 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '0') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '2') ()) ((
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '5') ()) ((CONSTANT (INTEGER 4 0
+0 0 INTEGER ()) 0 '9') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '14')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '20') ()) ((CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '27') ()) ((CONSTANT (INTEGER 4 0 0 0
+INTEGER ()) 0 '35') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '44')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '54') ()) ((CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '66') ()) ((CONSTANT (INTEGER 4 0 0 0
+INTEGER ()) 0 '82') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '102')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '126') ())) ('14')) (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '14')) 0 () () () 0 0)
+52 'heqnr' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (ARRAY
+(INTEGER 4 0 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '2') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '3') ()) ((
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '4') ()) ((CONSTANT (INTEGER 4 0
+0 0 INTEGER ()) 0 '5') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '6')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '7') ()) ((CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '8') ()) ((CONSTANT (INTEGER 4 0 0 0
+INTEGER ()) 0 '9') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '10') ())
+((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '12') ()) ((CONSTANT (INTEGER
+4 0 0 0 INTEGER ()) 0 '16') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '20') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '24') ())) ('13'))
+(1 0 EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '13')) 0 () () () 0 0)
+53 'hewf' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION DATA) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
+54 'i' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+55 'labp0' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION DATA) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
+56 'labp5' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION DATA) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
+57 'laind' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (ARRAY
+(INTEGER 4 0 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '0') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '2') ()) ((
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '5') ()) ((CONSTANT (INTEGER 4 0
+0 0 INTEGER ()) 0 '9') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '14')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '20') ()) ((CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '27') ()) ((CONSTANT (INTEGER 4 0 0 0
+INTEGER ()) 0 '35') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '44')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '54') ()) ((CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '66') ()) ((CONSTANT (INTEGER 4 0 0 0
+INTEGER ()) 0 '82') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '102')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '126') ())) ('14')) (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '14')) 0 () () () 0 0)
+58 'laqnr' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (ARRAY
+(INTEGER 4 0 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '2') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '3') ()) ((
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '4') ()) ((CONSTANT (INTEGER 4 0
+0 0 INTEGER ()) 0 '5') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '6')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '7') ()) ((CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '8') ()) ((CONSTANT (INTEGER 4 0 0 0
+INTEGER ()) 0 '9') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '10') ())
+((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '12') ()) ((CONSTANT (INTEGER
+4 0 0 0 INTEGER ()) 0 '16') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '20') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '24') ())) ('13'))
+(1 0 EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '13')) 0 () () () 0 0)
+59 'lawf0' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION DATA) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
+60 'lawf5' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION DATA) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
+61 'le2qnr' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+62 'lebp' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION DATA) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
+63 'leind' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (ARRAY
+(INTEGER 4 0 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '0') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '2') ()) ((
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '5') ()) ((CONSTANT (INTEGER 4 0
+0 0 INTEGER ()) 0 '9') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '14')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '20') ()) ((CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '27') ()) ((CONSTANT (INTEGER 4 0 0 0
+INTEGER ()) 0 '35') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '44')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '54') ()) ((CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '66') ()) ((CONSTANT (INTEGER 4 0 0 0
+INTEGER ()) 0 '82') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '102')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '126') ())) ('14')) (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '14')) 0 () () () 0 0)
+64 'leqnr' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (ARRAY
+(INTEGER 4 0 0 0 INTEGER ()) 1 (((CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '2') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '3') ()) ((
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '4') ()) ((CONSTANT (INTEGER 4 0
+0 0 INTEGER ()) 0 '5') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '6')
+()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '7') ()) ((CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '8') ()) ((CONSTANT (INTEGER 4 0 0 0
+INTEGER ()) 0 '9') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '10') ())
+((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '12') ()) ((CONSTANT (INTEGER
+4 0 0 0 INTEGER ()) 0 '16') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ())
+0 '20') ()) ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '24') ())) ('13'))
+(1 0 EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '13')) 0 () () () 0 0)
+65 'lewf' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION DATA) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '126')) 0 () () () 0 0)
+66 'minqnr' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+67 'nhew' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '13') () 0 () () () 0 0)
+68 'nint1' 'quad' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0 DIMENSION) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0
+EXPLICIT (CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '13')) 0 () () () 0 0)
+69 'nlaw' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '13') () 0 () () () 0 0)
+70 'nlew' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '13') () 0 () () () 0 0)
+71 'pmax' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '24') () 0 () () () 0 0)
+72 'quad' 'quad' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+73 'siznint' 'quad' '' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '13') () 0 () () () 0 0)
+10 'n' '' '' 9 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+11 'wfout' '' '' 9 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+12 'bpout' '' '' 9 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+13 'xmi' '' '' 9 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+14 'xma' '' '' 9 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+15 'n0' '' '' 9 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+17 'n' '' '' 16 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+18 'wfout' '' '' 16 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+19 'bpout' '' '' 16 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+20 'xmi' '' '' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+21 'xma' '' '' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+22 'n0' '' '' 16 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+24 'n' '' '' 23 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+25 'wfout' '' '' 23 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+26 'bpout' '' '' 23 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+27 'xmi' '' '' 23 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+28 'xma' '' '' 23 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+29 'n0' '' '' 23 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+31 'n' '' '' 30 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+32 'wfout' '' '' 30 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+33 'bpout' '' '' 30 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+34 'xmi' '' '' 30 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+35 'xma' '' '' 30 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+37 'n' '' '' 36 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+38 'wfout' '' '' 36 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+39 'bpout' '' '' 36 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+40 'xmi' '' '' 36 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+41 'xma' '' '' 36 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+42 'n0' '' '' 36 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+44 'n' '' '' 43 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+45 'wf' '' '' 43 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+46 'bp' '' '' 43 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+47 'xmi' '' '' 43 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+48 'xma' '' '' 43 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+49 'n0' '' '' 43 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
)
-('__convert_r4_r8' 0 8 'gausshe0' 0 2 'gaussla0' 0 7 'gaussle0' 0 3
-'gaussle1' 0 4 'gaussle2' 0 6 'gaussq' 0 5 'hebp' 0 50 'heind' 0 51
+('__convert_r4_r8' 0 8 'gausshe0' 0 2 'gaussla0' 0 3 'gaussle0' 0 4
+'gaussle1' 0 5 'gaussle2' 0 6 'gaussq' 0 7 'hebp' 0 50 'heind' 0 51
'heqnr' 0 52 'hewf' 0 53 'i' 0 54 'labp0' 0 55 'labp5' 0 56 'laind' 0 57
'laqnr' 0 58 'lawf0' 0 59 'lawf5' 0 60 'le2qnr' 0 61 'lebp' 0 62 'leind'
0 63 'leqnr' 0 64 'lewf' 0 65 'minqnr' 0 66 'nhew' 0 67 'nint1' 0 68
diff --git a/pywafo/src/wafo/source/rind2007/rcrudemod.mod b/pywafo/src/wafo/source/rind2007/rcrudemod.mod
index 6b37a6b..33f3a72 100644
--- a/pywafo/src/wafo/source/rind2007/rcrudemod.mod
+++ b/pywafo/src/wafo/source/rind2007/rcrudemod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from intmodule.f on Fri Apr 05 14:43:34 2013
-MD5:c88c5a15c480306fb971bd1e5ced587e -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from intmodule.f
+MD5:07b8298075e9a9f54709398e56efc6eb -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,31 +14,31 @@ MD5:c88c5a15c480306fb971bd1e5ced587e -- If you edit this, you'll get what you de
()
-(2 'ranmc' 'rcrudemod' 'ranmc' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN ()) 3 0 (4 5
-6 7 8 9 10 11) () 0 () () () 0 0)
-8 'releps' '' 'releps' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 'error' '' 'error' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-10 'value' '' 'value' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-11 'inform' '' 'inform' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-4 'n' '' 'n' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-5 'maxpts' '' 'maxpts' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-6 'functn' '' 'functn' 3 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY
-UNKNOWN 0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 12 0 (
-13 14) () 6 () () () 0 0)
-7 'abseps' '' 'abseps' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-13 'n' '' 'n' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-14 'z' '' 'z' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+(2 'ranmc' 'rcrudemod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 3 0 (4 5 6
+7 8 9 10 11) () 0 () () () 0 0)
+4 'n' '' '' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+5 'maxpts' '' '' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+6 'functn' '' '' 3 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY UNKNOWN
+0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 12 0 (13 14)
+() 6 () () () 0 0)
+7 'abseps' '' '' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+8 'releps' '' '' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+9 'error' '' '' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+10 'value' '' '' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+11 'inform' '' '' 3 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0 DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+13 'n' '' '' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+14 'z' '' '' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
)
('ranmc' 0 2)
diff --git a/pywafo/src/wafo/source/rind2007/rind71mod.mod b/pywafo/src/wafo/source/rind2007/rind71mod.mod
index 8149535..2181ff1 100644
--- a/pywafo/src/wafo/source/rind2007/rind71mod.mod
+++ b/pywafo/src/wafo/source/rind2007/rind71mod.mod
@@ -1,13 +1,13 @@
-GFORTRAN module version '4' created from rind71mod.f on Fri Apr 05 14:43:37 2013
-MD5:c5460e9301460ce17aef8031cd82ad57 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from rind71mod.f
+MD5:08e55dca717f64ecaccc2cce27eb575a -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
()
-(('echo' 'rind71mod' 2) ('initdata' 'rind71mod' 3) ('setdata' 'rind71mod'
-4) ('rind71' 'rind71mod' 5))
+(('echo' 'rind71mod' 2) ('initdata' 'rind71mod' 3) ('rind71' 'rind71mod'
+4) ('setdata' 'rind71mod' 5))
()
@@ -15,69 +15,69 @@ MD5:c5460e9301460ce17aef8031cd82ad57 -- If you edit this, you'll get what you de
()
-(2 'echo' 'rind71mod' 'echo' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0
-UNKNOWN ()) 6 0 (7) () 0 () () () 0 0)
-3 'initdata' 'rind71mod' 'initdata' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 8 0 (9) () 0 () () () 0 0)
-5 'rind71' 'rind71mod' 'rind71' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0
-UNKNOWN ()) 10 0 (11 12 13 14 15 16 17 18) () 0 () () () 0 0)
-4 'setdata' 'rind71mod' 'setdata' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 19 0 (20 21 22 23 24 25 26 27 28) () 0 () () () 0 0)
-27 'dnint' '' 'dnint' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-28 'dxsplt' '' 'dxsplt' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-20 'method' '' 'method' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-23 'dreps' '' 'dreps' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-24 'deps2' '' 'deps2' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-25 'dnit' '' 'dnit' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-26 'dxc' '' 'dxc' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-21 'scale' '' 'scale' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-22 'depss' '' 'depss' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 'speed' '' 'speed' 8 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-7 'array' '' 'array' 6 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
-UNKNOWN 0 0 DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2
-ASSUMED_SHAPE (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (
-INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-11 'fxind' '' 'fxind' 10 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-12 'big1' '' 'big1' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
-13 'ex' '' 'ex' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-14 'xc1' '' 'xc1' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
-15 'nt1' '' 'nt1' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-16 'indi' '' 'indi' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1 ASSUMED_SHAPE (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-17 'blo' '' 'blo' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
-18 'bup' '' 'bup' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
+(2 'echo' 'rind71mod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0 UNKNOWN
+()) 6 0 (7) () 0 () () () 0 0)
+3 'initdata' 'rind71mod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
+DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 8 0 (
+9) () 0 () () () 0 0)
+4 'rind71' 'rind71mod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0 UNKNOWN
+()) 10 0 (11 12 13 14 15 16 17 18) () 0 () () () 0 0)
+5 'setdata' 'rind71mod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 19 0 (20 21
+22 23 24 25 26 27 28) () 0 () () () 0 0)
+7 'array' '' '' 6 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
+0 0 DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+9 'speed' '' '' 8 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+11 'fxind' '' '' 10 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+12 'big1' '' '' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+13 'ex' '' '' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+14 'xc1' '' '' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+15 'nt1' '' '' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+16 'indi' '' '' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0 ASSUMED_SHAPE
+(CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+17 'blo' '' '' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+18 'bup' '' '' 10 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+20 'method' '' '' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+21 'scale' '' '' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+22 'depss' '' '' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+23 'dreps' '' '' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+24 'deps2' '' '' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+25 'dnit' '' '' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+26 'dxc' '' '' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+27 'dnint' '' '' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+28 'dxsplt' '' '' 19 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
)
-('echo' 0 2 'initdata' 0 3 'rind71' 0 5 'setdata' 0 4)
+('echo' 0 2 'initdata' 0 3 'rind71' 0 4 'setdata' 0 5)
diff --git a/pywafo/src/wafo/source/rind2007/rindmod.mod b/pywafo/src/wafo/source/rind2007/rindmod.mod
index 5d8b22c..1cc1f55 100644
--- a/pywafo/src/wafo/source/rind2007/rindmod.mod
+++ b/pywafo/src/wafo/source/rind2007/rindmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from rindmod.f on Fri Apr 05 14:43:35 2013
-MD5:dcdbb9dedca21469ecd6ba2a3e2bf880 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from rindmod.f
+MD5:65b72428787a61c0a824d8a584a49497 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
@@ -14,100 +14,99 @@ MD5:dcdbb9dedca21469ecd6ba2a3e2bf880 -- If you edit this, you'll get what you de
()
-(4 'mabseps' 'rindmod' 'mabseps' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0
-() () () 0 0)
-5 'mcoveps' 'rindmod' 'mcoveps' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-6 'mmaxpts' 'rindmod' 'mmaxpts' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
+(4 'mabseps' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+5 'mcoveps' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+6 'mmaxpts' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
() 0 0)
-7 'mmethod' 'rindmod' 'mmethod' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
+7 'mmethod' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
() 0 0)
-8 'mminpts' 'rindmod' 'mminpts' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
+8 'mminpts' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
() 0 0)
-9 'mnc1c2' 'rindmod' 'mnc1c2' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
-() 0 0)
-10 'mnit' 'rindmod' 'mnit' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () ()
-() 0 0)
-11 'mreleps' 'rindmod' 'mreleps' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0
-() () () 0 0)
-12 'msmall' 'rindmod' 'msmall' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-13 'mxcscale' 'rindmod' 'mxcscale' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0
-() () () 0 0)
-14 'mxcutoff' 'rindmod' 'mxcutoff' 1 ((VARIABLE UNKNOWN-INTENT
-UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0
-() () () 0 0)
-2 'rindd' 'rindmod' 'rindd' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0
-UNKNOWN ()) 15 0 (16 17 18 19 20 21 22 23 24 25 26) () 0 () () () 0 0)
-3 'setconstants' 'rindmod' 'setconstants' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (
-UNKNOWN 0 0 0 UNKNOWN ()) 27 0 (28 29 30 31 32 33 34 35 36 37) () 0 () ()
-() 0 0)
-31 'releps' '' 'releps' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 OPTIONAL DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-32 'coveps' '' 'coveps' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 OPTIONAL DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-33 'maxpts' '' 'maxpts' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 OPTIONAL DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-34 'minpts' '' 'minpts' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 OPTIONAL DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-35 'nit' '' 'nit' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-OPTIONAL DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-36 'xcutoff' '' 'xcutoff' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 OPTIONAL DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-37 'nc1c2' '' 'nc1c2' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-OPTIONAL DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-28 'method' '' 'method' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 OPTIONAL DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-29 'xcscale' '' 'xcscale' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 OPTIONAL DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-30 'abseps' '' 'abseps' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 OPTIONAL DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-16 'vals' '' 'vals' 15 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-17 'err' '' 'err' 15 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-18 'terr' '' 'terr' 15 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-19 'big' '' 'big' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
-20 'ex' '' 'ex' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-21 'xc' '' 'xc' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
-22 'nt' '' 'nt' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-23 'indi' '' 'indi' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1 ASSUMED_SHAPE (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-24 'blo' '' 'blo' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
-25 'bup' '' 'bup' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (2 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0 INTEGER ())
-0 '1') ()) 0 () () () 0 0)
-26 'infin' '' 'infin' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () (1 ASSUMED_SHAPE (
-CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+9 'mnc1c2' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+10 'mnit' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+EXPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+11 'mreleps' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+12 'msmall' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+13 'mxcscale' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+14 'mxcutoff' 'rindmod' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN EXPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+2 'rindd' 'rindmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0 UNKNOWN
+()) 15 0 (16 17 18 19 20 21 22 23 24 25 26) () 0 () () () 0 0)
+3 'setconstants' 'rindmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
+DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0
+UNKNOWN ()) 27 0 (28 29 30 31 32 33 34 35 36 37) () 0 () () () 0 0)
+16 'vals' '' '' 15 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+17 'err' '' '' 15 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+18 'terr' '' '' 15 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+19 'big' '' '' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+20 'ex' '' '' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+21 'xc' '' '' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+22 'nt' '' '' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+23 'indi' '' '' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0 ASSUMED_SHAPE
+(CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+24 'blo' '' '' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+25 'bup' '' '' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (2 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') () (CONSTANT (INTEGER 4 0 0
+0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+26 'infin' '' '' 15 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () (1 0 ASSUMED_SHAPE
+(CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+28 'method' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+29 'xcscale' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+30 'abseps' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+31 'releps' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+32 'coveps' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+33 'maxpts' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+34 'minpts' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+35 'nit' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+36 'xcutoff' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+37 'nc1c2' '' '' 27 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+OPTIONAL DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
)
('mabseps' 0 4 'mcoveps' 0 5 'mmaxpts' 0 6 'mmethod' 0 7 'mminpts' 0 8
diff --git a/pywafo/src/wafo/source/rind2007/rindmod.pyd b/pywafo/src/wafo/source/rind2007/rindmod.pyd
index 6fcaaa6..2c9c0c0 100644
Binary files a/pywafo/src/wafo/source/rind2007/rindmod.pyd and b/pywafo/src/wafo/source/rind2007/rindmod.pyd differ
diff --git a/pywafo/src/wafo/source/rind2007/ssobolmod.mod b/pywafo/src/wafo/source/rind2007/ssobolmod.mod
index 9e03fb3..9b89ec6 100644
--- a/pywafo/src/wafo/source/rind2007/ssobolmod.mod
+++ b/pywafo/src/wafo/source/rind2007/ssobolmod.mod
@@ -1,12 +1,12 @@
-GFORTRAN module version '4' created from intmodule.f on Tue Mar 27 09:05:13 2012
-MD5:08e5ecbf4978155cb9dd4cc4a261c01e -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from intmodule.f
+MD5:f5d30ff58e564e7648b2ba106d40bcd2 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())
()
-(('initsobol' 'ssobolmod' 2) ('sobolseq' 'ssobolmod' 3) ('sobnied'
+(('initsobol' 'ssobolmod' 2) ('sobnied' 'ssobolmod' 3) ('sobolseq'
'ssobolmod' 4))
()
@@ -15,56 +15,56 @@ MD5:08e5ecbf4978155cb9dd4cc4a261c01e -- If you edit this, you'll get what you de
()
-(2 'initsobol' 'ssobolmod' 'initsobol' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 5 0 (6 7 8 9 10 11) () 0 () () () 0 0)
-4 'sobnied' 'ssobolmod' 'sobnied' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 UNKNOWN
-()) 12 0 (13 14 15 16 17 18 19 20 21) () 0 () () () 0 0)
-3 'sobolseq' 'ssobolmod' 'sobolseq' 1 ((PROCEDURE UNKNOWN-INTENT
-MODULE-PROC DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (
-UNKNOWN 0 0 0 UNKNOWN ()) 22 0 (23 24) () 0 () () () 0 0)
-6 'inform' '' 'inform' 5 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-7 'taus' '' 'taus' 5 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-8 'ndim' '' 'ndim' 5 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-9 'atmost' '' 'atmost' 5 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-10 'numds' '' 'numds' 5 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-11 'iflag' '' 'iflag' 5 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-23 'quasi' '' 'quasi' 22 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
-24 'inform' '' 'inform' 22 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-13 'ndim' '' 'ndim' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-14 'minvls' '' 'minvls' 12 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN
-0 0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-15 'maxvls' '' 'maxvls' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-16 'functn' '' 'functn' 12 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY
-UNKNOWN 0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 REAL ()) 25 0 (
-26 27) () 16 () () () 0 0)
-17 'abseps' '' 'abseps' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-18 'releps' '' 'releps' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-19 'abserr' '' 'abserr' 12 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-20 'finest' '' 'finest' 12 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-21 'inform' '' 'inform' 12 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0
-0 DUMMY) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-26 'n' '' 'n' 25 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
-INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-27 'z' '' 'z' 25 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
-DIMENSION DUMMY) (REAL 8 0 0 REAL ()) 0 0 () (1 ASSUMED_SHAPE (CONSTANT
-(INTEGER 4 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+(2 'initsobol' 'ssobolmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
+DECL UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 5 0 (
+6 7 8 9 10 11) () 0 () () () 0 0)
+3 'sobnied' 'ssobolmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE GENERIC) (UNKNOWN 0 0 0 0 UNKNOWN ()) 12 0 (13 14
+15 16 17 18 19 20 21) () 0 () () () 0 0)
+4 'sobolseq' 'ssobolmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
+DECL UNKNOWN 0 0 SUBROUTINE GENERIC ALWAYS_EXPLICIT) (UNKNOWN 0 0 0 0
+UNKNOWN ()) 22 0 (23 24) () 0 () () () 0 0)
+6 'inform' '' '' 5 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+7 'taus' '' '' 5 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+8 'ndim' '' '' 5 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+9 'atmost' '' '' 5 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+10 'numds' '' '' 5 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+11 'iflag' '' '' 5 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+13 'ndim' '' '' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+14 'minvls' '' '' 12 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+15 'maxvls' '' '' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+16 'functn' '' '' 12 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC BODY
+UNKNOWN 0 0 DUMMY FUNCTION ALWAYS_EXPLICIT) (REAL 8 0 0 0 REAL ()) 25 0
+(26 27) () 16 () () () 0 0)
+17 'abseps' '' '' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+18 'releps' '' '' 12 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+19 'abserr' '' '' 12 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+20 'finest' '' '' 12 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+21 'inform' '' '' 12 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+23 'quasi' '' '' 22 ((VARIABLE OUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DIMENSION DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (
+CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
+24 'inform' '' '' 22 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0
+DUMMY) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+26 'n' '' '' 25 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+27 'z' '' '' 25 ((VARIABLE IN UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DIMENSION
+DUMMY) (REAL 8 0 0 0 REAL ()) 0 0 () (1 0 ASSUMED_SHAPE (CONSTANT (
+INTEGER 4 0 0 0 INTEGER ()) 0 '1') ()) 0 () () () 0 0)
)
-('initsobol' 0 2 'sobnied' 0 4 'sobolseq' 0 3)
+('initsobol' 0 2 'sobnied' 0 3 'sobolseq' 0 4)
diff --git a/pywafo/src/wafo/source/rind2007/swapmod.mod b/pywafo/src/wafo/source/rind2007/swapmod.mod
index eab5a09..fca05bb 100644
--- a/pywafo/src/wafo/source/rind2007/swapmod.mod
+++ b/pywafo/src/wafo/source/rind2007/swapmod.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from swapmod.f on Fri Apr 05 14:43:34 2013
-MD5:d3f134c81002cd5f6cec09ebff3e336f -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from swapmod.f
+MD5:825f23b27481d78d127d3a2f61a750fa -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,31 +14,31 @@ MD5:d3f134c81002cd5f6cec09ebff3e336f -- If you edit this, you'll get what you de
()
-(2 'swap_c' 'swapmod' 'swap_c' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 UNKNOWN ()) 5 0 (6 7) () 0 ()
-() () 0 0)
-3 'swap_i' 'swapmod' 'swap_i' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 UNKNOWN ()) 8 0 (9 10) () 0
-() () () 0 0)
-4 'swap_r' 'swapmod' 'swap_r' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC
-DECL UNKNOWN 0 0 SUBROUTINE) (UNKNOWN 0 0 0 UNKNOWN ()) 11 0 (12 13) ()
-0 () () () 0 0)
-14 'swapmod' 'swapmod' 'swapmod' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
-12 'a' '' 'a' 11 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-13 'b' '' 'b' 11 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 'a' '' 'a' 8 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-10 'b' '' 'b' 8 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-6 'a' '' 'a' 5 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(CHARACTER 1 0 0 CHARACTER ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1')))
+(2 'swap_c' 'swapmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE IMPLICIT_PURE) (UNKNOWN 0 0 0 0 UNKNOWN ()) 5 0 (
+6 7) () 0 () () () 0 0)
+3 'swap_i' 'swapmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE IMPLICIT_PURE) (UNKNOWN 0 0 0 0 UNKNOWN ()) 8 0 (
+9 10) () 0 () () () 0 0)
+4 'swap_r' 'swapmod' '' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
+UNKNOWN 0 0 SUBROUTINE IMPLICIT_PURE) (UNKNOWN 0 0 0 0 UNKNOWN ()) 11 0
+(12 13) () 0 () () () 0 0)
+14 'swapmod' 'swapmod' '' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
+UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
+6 'a' '' '' 5 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+CHARACTER 1 0 0 0 CHARACTER ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1')))
0 0 () () 0 () () () 0 0)
-7 'b' '' 'b' 5 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
-(CHARACTER 1 0 0 CHARACTER ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1')))
+7 'b' '' '' 5 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+CHARACTER 1 0 0 0 CHARACTER ((CONSTANT (INTEGER 4 0 0 0 INTEGER ()) 0 '1')))
0 0 () () 0 () () () 0 0)
+9 'a' '' '' 8 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY) (
+INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+10 'b' '' '' 8 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
+12 'a' '' '' 11 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
+13 'b' '' '' 11 ((VARIABLE INOUT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0 DUMMY)
+(REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
)
('swap_c' 0 2 'swap_i' 0 3 'swap_r' 0 4 'swapmod' 0 14)
diff --git a/pywafo/src/wafo/source/rind2007/trivariatevar.mod b/pywafo/src/wafo/source/rind2007/trivariatevar.mod
index d6e1ec8..76d4bb3 100644
--- a/pywafo/src/wafo/source/rind2007/trivariatevar.mod
+++ b/pywafo/src/wafo/source/rind2007/trivariatevar.mod
@@ -1,5 +1,5 @@
-GFORTRAN module version '4' created from fimod.f on Tue Mar 27 09:05:13 2012
-MD5:3c07acc29af03f85553199e931805b01 -- If you edit this, you'll get what you deserve.
+GFORTRAN module version '10' created from fimod.f
+MD5:2d0305398ff580834095df763e4a2991 -- If you edit this, you'll get what you deserve.
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())
@@ -14,27 +14,36 @@ MD5:3c07acc29af03f85553199e931805b01 -- If you edit this, you'll get what you de
()
-(2 'ar' 'trivariatevar' 'ar' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-3 'h1' 'trivariatevar' 'h1' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-4 'h2' 'trivariatevar' 'h2' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-5 'h3' 'trivariatevar' 'h3' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-6 'nu' 'trivariatevar' 'nu' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0 0)
-7 'r23' 'trivariatevar' 'r23' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-8 'rua' 'trivariatevar' 'rua' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-9 'rub' 'trivariatevar' 'rub' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-10 'ruc' 'trivariatevar' 'ruc' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
-UNKNOWN UNKNOWN 0 0) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
-11 'trivariatevar' 'trivariatevar' 'trivariatevar' 1 ((MODULE
-UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 UNKNOWN
-()) 0 0 () () 0 () () () 0 0)
+(2 'ar' 'trivariatevar' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+3 'h1' 'trivariatevar' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+4 'h2' 'trivariatevar' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+5 'h3' 'trivariatevar' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+6 'nu' 'trivariatevar' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (INTEGER 4 0 0 0 INTEGER ()) 0 0 () () 0 () ()
+() 0 0)
+7 'r23' 'trivariatevar' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+8 'rua' 'trivariatevar' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+9 'rub' 'trivariatevar' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+10 'ruc' 'trivariatevar' '' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
+UNKNOWN IMPLICIT-SAVE 0 0) (REAL 8 0 0 0 REAL ()) 0 0 () () 0 () () () 0
+0)
+11 'trivariatevar' 'trivariatevar' '' 1 ((MODULE UNKNOWN-INTENT
+UNKNOWN-PROC UNKNOWN UNKNOWN 0 0) (UNKNOWN 0 0 0 0 UNKNOWN ()) 0 0 () ()
+0 () () () 0 0)
)
('ar' 0 2 'h1' 0 3 'h2' 0 4 'h3' 0 5 'nu' 0 6 'r23' 0 7 'rua' 0 8 'rub'
diff --git a/pywafo/src/wafo/stats/_continuous_distns.py b/pywafo/src/wafo/stats/_continuous_distns.py
index 7c3bc79..f6c9fd2 100644
--- a/pywafo/src/wafo/stats/_continuous_distns.py
+++ b/pywafo/src/wafo/stats/_continuous_distns.py
@@ -11,9 +11,8 @@ from scipy.misc.doccer import inherit_docstring_from
from scipy import special
from scipy import optimize
from scipy import integrate
-from scipy.special import (gammaln as gamln, gamma as gam, boxcox, boxcox1p,
- log1p, expm1)
- #inv_boxcox, inv_boxcox1p)
+from scipy.special import (gammaln as gamln, gamma as gam, boxcox, boxcox1p,
+ log1p, expm1) # inv_boxcox, inv_boxcox1p)
from numpy import (where, arange, putmask, ravel, sum, shape,
log, sqrt, exp, arctanh, tan, sin, arcsin, arctan,
@@ -33,18 +32,17 @@ except:
# tukeylambda_kurtosis as _tlkurt
# except:
# _tlvar = _tlkurt = None
-#from . import vonmises_cython
+# from . import vonmises_cython
from ._tukeylambda_stats import (tukeylambda_variance as _tlvar,
tukeylambda_kurtosis as _tlkurt)
from ._distn_infrastructure import (
- rv_continuous, valarray, _skew, _kurtosis, _lazywhere,
- _ncx2_log_pdf, _ncx2_pdf, _ncx2_cdf, get_distribution_names,
- )
+ rv_continuous, valarray, _skew, _kurtosis, _lazywhere,
+ _ncx2_log_pdf, _ncx2_pdf, _ncx2_cdf, get_distribution_names)
from ._constants import _XMIN, _EULER, _ZETA3, _EPS
from .stats import mode
-#from .estimation import FitDistribution
+# from .estimation import FitDistribution
__all__ = [
'ksone', 'kstwobign', 'norm', 'alpha', 'anglit', 'arcsine',
@@ -69,11 +67,13 @@ __all__ = [
# Kolmogorov-Smirnov one-sided and two-sided test statistics
class ksone_gen(rv_continuous):
+
"""General Kolmogorov-Smirnov one-sided test.
%(default)s
"""
+
def _cdf(self, x, n):
return 1.0 - special.smirnov(n, x)
@@ -83,11 +83,13 @@ ksone = ksone_gen(a=0.0, name='ksone')
class kstwobign_gen(rv_continuous):
+
"""Kolmogorov-Smirnov two-sided test for large N.
%(default)s
"""
+
def _cdf(self, x):
return 1.0 - special.kolmogorov(x)
@@ -95,25 +97,25 @@ class kstwobign_gen(rv_continuous):
return special.kolmogorov(x)
def _ppf(self, q):
- return special.kolmogi(1.0-q)
+ return special.kolmogi(1.0 - q)
kstwobign = kstwobign_gen(a=0.0, name='kstwobign')
-## Normal distribution
+# Normal distribution
# loc = mu, scale = std
# Keep these implementations out of the class definition so they can be reused
# by other distributions.
-_norm_pdf_C = np.sqrt(2*pi)
+_norm_pdf_C = np.sqrt(2 * pi)
_norm_pdf_logC = np.log(_norm_pdf_C)
def _norm_pdf(x):
- return exp(-x**2/2.0) / _norm_pdf_C
+ return exp(-x ** 2 / 2.0) / _norm_pdf_C
def _norm_logpdf(x):
- return -x**2 / 2.0 - _norm_pdf_logC
+ return -x ** 2 / 2.0 - _norm_pdf_logC
def _norm_cdf(x):
@@ -141,6 +143,7 @@ def _norm_isf(q):
class norm_gen(rv_continuous):
+
"""A normal continuous random variable.
The location (loc) keyword specifies the mean.
@@ -157,6 +160,7 @@ class norm_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self):
return mtrand.standard_normal(self._size)
@@ -188,7 +192,7 @@ class norm_gen(rv_continuous):
return 0.0, 1.0, 0.0, 0.0
def _entropy(self):
- return 0.5*(log(2*pi)+1)
+ return 0.5 * (log(2 * pi) + 1)
@inherit_docstring_from(rv_continuous)
def fit(self, data, **kwds):
@@ -215,7 +219,7 @@ class norm_gen(rv_continuous):
loc = floc
if fscale is None:
- scale = np.sqrt(((data - loc)**2).mean())
+ scale = np.sqrt(((data - loc) ** 2).mean())
else:
scale = fscale
@@ -225,6 +229,7 @@ norm = norm_gen(name='norm')
class alpha_gen(rv_continuous):
+
"""An alpha continuous random variable.
%(before_notes)s
@@ -240,24 +245,26 @@ class alpha_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, a):
- return 1.0/(x**2)/special.ndtr(a)*_norm_pdf(a-1.0/x)
+ return 1.0 / (x ** 2) / special.ndtr(a) * _norm_pdf(a - 1.0 / x)
def _logpdf(self, x, a):
- return -2*log(x) + _norm_logpdf(a-1.0/x) - log(special.ndtr(a))
+ return -2 * log(x) + _norm_logpdf(a - 1.0 / x) - log(special.ndtr(a))
def _cdf(self, x, a):
- return special.ndtr(a-1.0/x) / special.ndtr(a)
+ return special.ndtr(a - 1.0 / x) / special.ndtr(a)
def _ppf(self, q, a):
- return 1.0/asarray(a-special.ndtri(q*special.ndtr(a)))
+ return 1.0 / asarray(a - special.ndtri(q * special.ndtr(a)))
def _stats(self, a):
- return [inf]*2 + [nan]*2
+ return [inf] * 2 + [nan] * 2
alpha = alpha_gen(a=0.0, name='alpha')
class anglit_gen(rv_continuous):
+
"""An anglit continuous random variable.
%(before_notes)s
@@ -273,24 +280,27 @@ class anglit_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
- return cos(2*x)
+ return cos(2 * x)
def _cdf(self, x):
- return sin(x+pi/4)**2.0
+ return sin(x + pi / 4) ** 2.0
def _ppf(self, q):
- return (arcsin(sqrt(q))-pi/4)
+ return (arcsin(sqrt(q)) - pi / 4)
def _stats(self):
- return 0.0, pi*pi/16-0.5, 0.0, -2*(pi**4 - 96)/(pi*pi-8)**2
+ return 0.0, pi * pi / 16 - 0.5, 0.0, -2 * \
+ (pi ** 4 - 96) / (pi * pi - 8) ** 2
def _entropy(self):
- return 1-log(2)
-anglit = anglit_gen(a=-pi/4, b=pi/4, name='anglit')
+ return 1 - log(2)
+anglit = anglit_gen(a=-pi / 4, b=pi / 4, name='anglit')
class arcsine_gen(rv_continuous):
+
"""An arcsine continuous random variable.
%(before_notes)s
@@ -306,20 +316,21 @@ class arcsine_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
- return 1.0/pi/sqrt(x*(1-x))
+ return 1.0 / pi / sqrt(x * (1 - x))
def _cdf(self, x):
- return 2.0/pi*arcsin(sqrt(x))
+ return 2.0 / pi * arcsin(sqrt(x))
def _ppf(self, q):
- return sin(pi/2.0*q)**2.0
+ return sin(pi / 2.0 * q) ** 2.0
def _stats(self):
mu = 0.5
- mu2 = 1.0/8
+ mu2 = 1.0 / 8
g1 = 0
- g2 = -3.0/2.0
+ g2 = -3.0 / 2.0
return mu, mu2, g1, g2
def _entropy(self):
@@ -331,6 +342,7 @@ class FitDataError(ValueError):
# This exception is raised by, for example, beta_gen.fit when both floc
# and fscale are fixed and there are values in the data not in the open
# interval (floc, floc+fscale).
+
def __init__(self, distr, lower, upper):
self.args = (
"Invalid values in `data`. Maximum likelihood "
@@ -343,6 +355,7 @@ class FitDataError(ValueError):
class FitSolverError(RuntimeError):
# This exception is raised by, for example, beta_gen.fit when
# optimize.fsolve returns with ier != 1.
+
def __init__(self, mesg):
emsg = "Solver for the MLE equations failed to converge: "
emsg += mesg.replace('\n', '')
@@ -373,6 +386,7 @@ def _beta_mle_ab(theta, n, s1, s2):
class beta_gen(rv_continuous):
+
"""A beta continuous random variable.
%(before_notes)s
@@ -391,6 +405,7 @@ class beta_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, a, b):
return mtrand.beta(a, b, self._size)
@@ -398,7 +413,7 @@ class beta_gen(rv_continuous):
return np.exp(self._logpdf(x, a, b))
def _logpdf(self, x, a, b):
- lPx = special.xlog1py(b-1.0, -x) + special.xlogy(a-1.0, x)
+ lPx = special.xlog1py(b - 1.0, -x) + special.xlogy(a - 1.0, x)
lPx -= special.betaln(a, b)
return lPx
@@ -409,11 +424,12 @@ class beta_gen(rv_continuous):
return special.btdtri(a, b, q)
def _stats(self, a, b):
- mn = a*1.0 / (a + b)
- var = (a*b*1.0)/(a+b+1.0)/(a+b)**2.0
- g1 = 2.0*(b-a)*sqrt((1.0+a+b)/(a*b)) / (2+a+b)
- g2 = 6.0*(a**3 + a**2*(1-2*b) + b**2*(1+b) - 2*a*b*(2+b))
- g2 /= a*b*(a+b+2)*(a+b+3)
+ mn = a * 1.0 / (a + b)
+ var = (a * b * 1.0) / (a + b + 1.0) / (a + b) ** 2.0
+ g1 = 2.0 * (b - a) * sqrt((1.0 + a + b) / (a * b)) / (2 + a + b)
+ g2 = 6.0 * (a ** 3 + a ** 2 * (1 - 2 * b) + b **
+ 2 * (1 + b) - 2 * a * b * (2 + b))
+ g2 /= a * b * (a + b + 2) * (a + b + 3)
return mn, var, g1, g2
def _fitstart(self, data):
@@ -422,11 +438,12 @@ class beta_gen(rv_continuous):
def func(x):
a, b = x
- sk = 2*(b-a)*sqrt(a + b + 1) / (a + b + 2) / sqrt(a*b)
- ku = a**3 - a**2*(2*b-1) + b**2*(b+1) - 2*a*b*(b+2)
- ku /= a*b*(a+b+2)*(a+b+3)
+ sk = 2 * (b - a) * sqrt(a + b + 1) / (a + b + 2) / sqrt(a * b)
+ ku = a ** 3 - a ** 2 * \
+ (2 * b - 1) + b ** 2 * (b + 1) - 2 * a * b * (b + 2)
+ ku /= a * b * (a + b + 2) * (a + b + 3)
ku *= 6
- return [sk-g1, ku-g2]
+ return [sk - g1, ku - g2]
a, b = optimize.fsolve(func, (1.0, 1.0))
return super(beta_gen, self)._fitstart(data, args=(a, b))
@@ -486,11 +503,9 @@ class beta_gen(rv_continuous):
a = b * xbar / (1 - xbar)
# Compute the MLE for `a` by solving _beta_mle_a.
- theta, info, ier, mesg = optimize.fsolve(
- _beta_mle_a, a,
- args=(b, len(data), np.log(data).sum()),
- full_output=True
- )
+ theta, _info, ier, mesg = optimize.fsolve(
+ _beta_mle_a, a, args=(b, len(data), np.log(data).sum()),
+ full_output=True)
if ier != 1:
raise FitSolverError(mesg=mesg)
a = theta[0]
@@ -515,11 +530,9 @@ class beta_gen(rv_continuous):
b = (1 - xbar) * fac
# Compute the MLE for a and b by solving _beta_mle_ab.
- theta, info, ier, mesg = optimize.fsolve(
- _beta_mle_ab, [a, b],
- args=(len(data), s1, s2),
- full_output=True
- )
+ theta, _info, ier, mesg = optimize.fsolve(
+ _beta_mle_ab, [a, b], args=(len(data), s1, s2),
+ full_output=True)
if ier != 1:
raise FitSolverError(mesg=mesg)
a, b = theta
@@ -530,6 +543,7 @@ beta = beta_gen(a=0.0, b=1.0, name='beta')
class betaprime_gen(rv_continuous):
+
"""A beta prime continuous random variable.
%(before_notes)s
@@ -546,6 +560,7 @@ class betaprime_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, a, b):
u1 = gamma.rvs(a, size=self._size)
u2 = gamma.rvs(b, size=self._size)
@@ -555,11 +570,11 @@ class betaprime_gen(rv_continuous):
return np.exp(self._logpdf(x, a, b))
def _logpdf(self, x, a, b):
- return (special.xlogy(a-1.0, x) - special.xlog1py(a+b, x) -
+ return (special.xlogy(a - 1.0, x) - special.xlog1py(a + b, x) -
special.betaln(a, b))
def _cdf(self, x, a, b):
- return special.betainc(a, b, x/(1.+x))
+ return special.betainc(a, b, x / (1. + x))
# remove for now: special.hyp2f1 is incorrect for large a
# x = where(x == 1.0, 1.0-1e-6, x)
# return pow(x, a)*special.hyp2f1(a+b, a, 1+a, -x)/a/special.beta(a, b)
@@ -570,30 +585,34 @@ class betaprime_gen(rv_continuous):
def func(x):
a, b = x
- me = a / (b-1) if 1 < b else 1e100
- mo = (a-1)/(b+1) if 1 <= a else 0
- return [me-g1, mo-g2]
+ me = a / (b - 1) if 1 < b else 1e100
+ mo = (a - 1) / (b + 1) if 1 <= a else 0
+ return [me - g1, mo - g2]
a, b = optimize.fsolve(func, (1.0, 1.5))
return super(betaprime_gen, self)._fitstart(data, args=(a, b))
def _munp(self, n, a, b):
if (n == 1.0):
- return where(b > 1, a/(b-1.0), inf)
+ return where(b > 1, a / (b - 1.0), inf)
elif (n == 2.0):
- return where(b > 2, a*(a+1.0)/((b-2.0)*(b-1.0)), inf)
+ return where(b > 2, a * (a + 1.0) / ((b - 2.0) * (b - 1.0)), inf)
elif (n == 3.0):
- return where(b > 3, a*(a+1.0)*(a+2.0)/((b-3.0)*(b-2.0)*(b-1.0)),
+ return where(b > 3,
+ a * (a + 1.0) * (a + 2.0) /
+ ((b - 3.0) * (b - 2.0) * (b - 1.0)),
inf)
elif (n == 4.0):
return where(b > 4,
- a*(a+1.0)*(a+2.0)*(a+3.0)/((b-4.0)*(b-3.0)
- * (b-2.0)*(b-1.0)), inf)
+ a * (a + 1.0) * (a + 2.0) * (a + 3.0) /
+ ((b - 4.0) * (b - 3.0) * (b - 2.0) * (b - 1.0)),
+ inf)
else:
raise NotImplementedError
betaprime = betaprime_gen(a=0.0, name='betaprime')
class bradford_gen(rv_continuous):
+
"""A Bradford continuous random variable.
%(before_notes)s
@@ -609,6 +628,7 @@ class bradford_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c):
return c / (c * x + 1.0) / log1p(c)
@@ -616,7 +636,7 @@ class bradford_gen(rv_continuous):
return log1p(c * x) / log1p(c)
def _ppf(self, q, c):
- return ((1.0+c)**q-1)/c
+ return ((1.0 + c) ** q - 1) / c
def _stats(self, c, moments='mv'):
k = log1p(c)
@@ -625,12 +645,14 @@ class bradford_gen(rv_continuous):
g1 = None
g2 = None
if 's' in moments:
- g1 = sqrt(2)*(12*c*c-9*c*k*(c+2)+2*k*k*(c*(c+3)+3))
- g1 /= sqrt(c*(c*(k-2)+2*k))*(3*c*(k-2)+6*k)
+ g1 = (sqrt(2) * (12 * c * c - 9 * c * k * (c + 2) +
+ 2 * k * k * (c * (c + 3) + 3)))
+ g1 /= sqrt(c * (c * (k - 2) + 2 * k)) * (3 * c * (k - 2) + 6 * k)
if 'k' in moments:
- g2 = (c**3*(k-3)*(k*(3*k-16)+24)+12*k*c*c*(k-4)*(k-3)
- + 6*c*k*k*(3*k-14) + 12*k**3)
- g2 /= 3*c*(c*(k-2)+2*k)**2
+ g2 = (c ** 3 * (k - 3) * (k * (3 * k - 16) + 24) +
+ 12 * k * c * c * (k - 4) * (k - 3)
+ + 6 * c * k * k * (3 * k - 14) + 12 * k ** 3)
+ g2 /= 3 * c * (c * (k - 2) + 2 * k) ** 2
return mu, mu2, g1, g2
def _entropy(self, c):
@@ -649,6 +671,7 @@ bradford = bradford_gen(a=0.0, b=1.0, name='bradford')
class burr_gen(rv_continuous):
+
"""A Burr continuous random variable.
%(before_notes)s
@@ -668,14 +691,16 @@ class burr_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c, d):
- return c*d*(x**(-c-1.0))*((1+x**(-c*1.0))**(-d-1.0))
+ return c * d * (x ** (-c - 1.0)) * \
+ ((1 + x ** (-c * 1.0)) ** (-d - 1.0))
def _cdf(self, x, c, d):
- return (1+x**(-c*1.0))**(-d**1.0)
+ return (1 + x ** (-c * 1.0)) ** (-d ** 1.0)
def _ppf(self, q, c, d):
- return (q**(-1.0/d)-1)**(-1.0/c)
+ return (q ** (-1.0 / d) - 1) ** (-1.0 / c)
def _munp(self, n, c, d):
nc = 1. * n / c
@@ -684,6 +709,7 @@ burr = burr_gen(a=0.0, name='burr')
class fisk_gen(burr_gen):
+
"""A Fisk continuous random variable.
The Fisk distribution is also known as the log-logistic distribution, and
@@ -698,6 +724,7 @@ class fisk_gen(burr_gen):
%(example)s
"""
+
def _pdf(self, x, c):
return burr_gen._pdf(self, x, c, 1.0)
@@ -717,6 +744,7 @@ fisk = fisk_gen(a=0.0, name='fisk')
# median = loc
class cauchy_gen(rv_continuous):
+
"""A Cauchy continuous random variable.
%(before_notes)s
@@ -730,26 +758,27 @@ class cauchy_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
- return 1.0/pi/(1.0+x*x)
+ return 1.0 / pi / (1.0 + x * x)
def _cdf(self, x):
- return 0.5 + 1.0/pi*arctan(x)
+ return 0.5 + 1.0 / pi * arctan(x)
def _ppf(self, q):
- return tan(pi*q-pi/2.0)
+ return tan(pi * q - pi / 2.0)
def _sf(self, x):
- return 0.5 - 1.0/pi*arctan(x)
+ return 0.5 - 1.0 / pi * arctan(x)
def _isf(self, q):
- return tan(pi/2.0-pi*q)
+ return tan(pi / 2.0 - pi * q)
def _stats(self):
return inf, inf, nan, nan
def _entropy(self):
- return log(4*pi)
+ return log(4 * pi)
def _fitstart(self, data, args=None):
return (0, 1)
@@ -757,6 +786,7 @@ cauchy = cauchy_gen(name='cauchy')
class chi_gen(rv_continuous):
+
"""A chi continuous random variable.
%(before_notes)s
@@ -778,24 +808,26 @@ class chi_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, df):
return sqrt(chi2.rvs(df, size=self._size))
def _pdf(self, x, df):
- return x**(df-1.)*exp(-x*x*0.5)/(2.0)**(df*0.5-1)/gam(df*0.5)
+ return x ** (df - 1.) * exp(-x * x * 0.5) / \
+ (2.0) ** (df * 0.5 - 1) / gam(df * 0.5)
def _cdf(self, x, df):
- return special.gammainc(df*0.5, 0.5*x*x)
+ return special.gammainc(df * 0.5, 0.5 * x * x)
def _ppf(self, q, df):
- return sqrt(2*special.gammaincinv(df*0.5, q))
+ return sqrt(2 * special.gammaincinv(df * 0.5, q))
def _stats(self, df):
- mu = sqrt(2)*special.gamma(df/2.0+0.5)/special.gamma(df/2.0)
- mu2 = df - mu*mu
- g1 = (2*mu**3.0 + mu*(1-2*df))/asarray(np.power(mu2, 1.5))
- g2 = 2*df*(1.0-df)-6*mu**4 + 4*mu**2 * (2*df-1)
- g2 /= asarray(mu2**2.0)
+ mu = sqrt(2) * special.gamma(df / 2.0 + 0.5) / special.gamma(df / 2.0)
+ mu2 = df - mu * mu
+ g1 = (2 * mu ** 3.0 + mu * (1 - 2 * df)) / asarray(np.power(mu2, 1.5))
+ g2 = 2 * df * (1.0 - df) - 6 * mu ** 4 + 4 * mu ** 2 * (2 * df - 1)
+ g2 /= asarray(mu2 ** 2.0)
return mu, mu2, g1, g2
def _fitstart(self, data):
@@ -807,8 +839,9 @@ class chi_gen(rv_continuous):
chi = chi_gen(a=0.0, name='chi')
-## Chi-squared (gamma-distributed with loc=0 and scale=2 and shape=df/2)
+# Chi-squared (gamma-distributed with loc=0 and scale=2 and shape=df/2)
class chi2_gen(rv_continuous):
+
"""A chi-squared continuous random variable.
%(before_notes)s
@@ -822,6 +855,7 @@ class chi2_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, df):
return mtrand.chisquare(df, self._size)
@@ -829,7 +863,8 @@ class chi2_gen(rv_continuous):
return exp(self._logpdf(x, df))
def _logpdf(self, x, df):
- return special.xlogy(df/2.-1, x) - x/2. - gamln(df/2.) - (log(2)*df)/2.
+ return special.xlogy(df / 2. - 1, x) - x / 2. - \
+ gamln(df / 2.) - (log(2) * df) / 2.
def _cdf(self, x, df):
return special.chdtr(df, x)
@@ -841,13 +876,13 @@ class chi2_gen(rv_continuous):
return special.chdtri(df, p)
def _ppf(self, p, df):
- return self._isf(1.0-p, df)
+ return self._isf(1.0 - p, df)
def _stats(self, df):
mu = df
- mu2 = 2*df
- g1 = 2*sqrt(2.0/df)
- g2 = 12.0/df
+ mu2 = 2 * df
+ g1 = 2 * sqrt(2.0 / df)
+ g2 = 12.0 / df
return mu, mu2, g1, g2
def _fitstart(self, data):
@@ -860,6 +895,7 @@ chi2 = chi2_gen(a=0.0, name='chi2')
class cosine_gen(rv_continuous):
+
"""A cosine continuous random variable.
%(before_notes)s
@@ -876,21 +912,24 @@ class cosine_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
- return 1.0/2/pi*(1+cos(x))
+ return 1.0 / 2 / pi * (1 + cos(x))
def _cdf(self, x):
- return 1.0/2/pi*(pi + x + sin(x))
+ return 1.0 / 2 / pi * (pi + x + sin(x))
def _stats(self):
- return 0.0, pi*pi/3.0-2.0, 0.0, -6.0*(pi**4-90)/(5.0*(pi*pi-6)**2)
+ return 0.0, pi * pi / 3.0 - 2.0, 0.0, -6.0 * \
+ (pi ** 4 - 90) / (5.0 * (pi * pi - 6) ** 2)
def _entropy(self):
- return log(4*pi)-1.0
+ return log(4 * pi) - 1.0
cosine = cosine_gen(a=-pi, b=pi, name='cosine')
class dgamma_gen(rv_continuous):
+
"""A double gamma continuous random variable.
%(before_notes)s
@@ -906,37 +945,39 @@ class dgamma_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, a):
u = mtrand.random_sample(size=self._size)
- return (gamma.rvs(a, size=self._size)*where(u >= 0.5, 1, -1))
+ return (gamma.rvs(a, size=self._size) * where(u >= 0.5, 1, -1))
def _pdf(self, x, a):
ax = abs(x)
- return 1.0/(2*special.gamma(a))*ax**(a-1.0) * exp(-ax)
+ return 1.0 / (2 * special.gamma(a)) * ax ** (a - 1.0) * exp(-ax)
def _logpdf(self, x, a):
ax = abs(x)
- return special.xlogy(a-1.0, ax) - ax - log(2) - gamln(a)
+ return special.xlogy(a - 1.0, ax) - ax - log(2) - gamln(a)
def _cdf(self, x, a):
- fac = 0.5*special.gammainc(a, abs(x))
+ fac = 0.5 * special.gammainc(a, abs(x))
return where(x > 0, 0.5 + fac, 0.5 - fac)
def _sf(self, x, a):
- fac = 0.5*special.gammainc(a, abs(x))
- return where(x > 0, 0.5-fac, 0.5+fac)
+ fac = 0.5 * special.gammainc(a, abs(x))
+ return where(x > 0, 0.5 - fac, 0.5 + fac)
def _ppf(self, q, a):
- fac = special.gammainccinv(a, 1-abs(2*q-1))
+ fac = special.gammainccinv(a, 1 - abs(2 * q - 1))
return where(q > 0.5, fac, -fac)
def _stats(self, a):
- mu2 = a*(a+1.0)
- return 0.0, mu2, 0.0, (a+2.0)*(a+3.0)/mu2-3.0
+ mu2 = a * (a + 1.0)
+ return 0.0, mu2, 0.0, (a + 2.0) * (a + 3.0) / mu2 - 3.0
dgamma = dgamma_gen(name='dgamma')
class dweibull_gen(rv_continuous):
+
"""A double Weibull continuous random variable.
%(before_notes)s
@@ -950,21 +991,22 @@ class dweibull_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, c):
u = mtrand.random_sample(size=self._size)
return weibull_min.rvs(c, size=self._size) * (where(u >= 0.5, 1, -1))
def _pdf(self, x, c):
ax = abs(x)
- Px = c / 2.0 * ax**(c-1.0) * exp(-ax**c)
+ Px = c / 2.0 * ax ** (c - 1.0) * exp(-ax ** c)
return Px
def _logpdf(self, x, c):
ax = abs(x)
- return log(c) - log(2.0) + special.xlogy(c - 1.0, ax) - ax**c
+ return log(c) - log(2.0) + special.xlogy(c - 1.0, ax) - ax ** c
def _cdf(self, x, c):
- Cx1 = 0.5 * exp(-abs(x)**c)
+ Cx1 = 0.5 * exp(-abs(x) ** c)
return where(x > 0, 1 - Cx1, Cx1)
def _ppf(self, q, c):
@@ -983,8 +1025,9 @@ class dweibull_gen(rv_continuous):
dweibull = dweibull_gen(name='dweibull')
-## Exponential (gamma distributed with a=1.0, loc=loc and scale=scale)
+# Exponential (gamma distributed with a=1.0, loc=loc and scale=scale)
class expon_gen(rv_continuous):
+
"""An exponential continuous random variable.
%(before_notes)s
@@ -1046,6 +1089,7 @@ expon = expon_gen(a=0.0, name='expon')
class exponweib_gen(rv_continuous):
+
"""An exponentiated Weibull continuous random variable.
%(before_notes)s
@@ -1062,11 +1106,12 @@ class exponweib_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, a, c):
return exp(self._logpdf(x, a, c))
def _logpdf(self, x, a, c):
- negxc = -x**c
+ negxc = -x ** c
exm1c = -special.expm1(negxc)
logp = (log(a) + log(c) + special.xlogy(a - 1.0, exm1c) +
negxc + special.xlogy(c - 1.0, x))
@@ -1082,6 +1127,7 @@ exponweib = exponweib_gen(a=0.0, name='exponweib')
class exponpow_gen(rv_continuous):
+
"""An exponential power continuous random variable.
%(before_notes)s
@@ -1103,11 +1149,12 @@ class exponpow_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, b):
return exp(self._logpdf(x, b))
def _logpdf(self, x, b):
- xb = x**b
+ xb = x ** b
f = 1 + log(b) + special.xlogy(b - 1.0, x) + xb - exp(xb)
return f
@@ -1126,6 +1173,7 @@ exponpow = exponpow_gen(a=0.0, name='exponpow')
class fatiguelife_gen(rv_continuous):
+
"""A fatigue-life (Birnbaum-Saunders) continuous random variable.
%(before_notes)s
@@ -1147,26 +1195,27 @@ class fatiguelife_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, c):
z = mtrand.standard_normal(self._size)
- x = 0.5*c*z
- x2 = x*x
- t = 1.0 + 2*x2 + 2*x*sqrt(1 + x2)
+ x = 0.5 * c * z
+ x2 = x * x
+ t = 1.0 + 2 * x2 + 2 * x * sqrt(1 + x2)
return t
def _pdf(self, x, c):
return np.exp(self._logpdf(x, c))
def _logpdf(self, x, c):
- return (log(x+1) - (x-1)**2 / (2.0*x*c**2) - log(2*c) -
- 0.5*(log(2*pi) + 3*log(x)))
+ return (log(x + 1) - (x - 1) ** 2 / (2.0 * x * c ** 2) - log(2 * c) -
+ 0.5 * (log(2 * pi) + 3 * log(x)))
def _cdf(self, x, c):
- return special.ndtr(1.0 / c * (sqrt(x) - 1.0/sqrt(x)))
+ return special.ndtr(1.0 / c * (sqrt(x) - 1.0 / sqrt(x)))
def _ppf(self, q, c):
- tmp = c*special.ndtri(q)
- return 0.25 * (tmp + sqrt(tmp**2 + 4))**2
+ tmp = c * special.ndtri(q)
+ return 0.25 * (tmp + sqrt(tmp ** 2 + 4)) ** 2
def _stats(self, c):
# NB: the formula for kurtosis in wikipedia seems to have an error:
@@ -1174,17 +1223,18 @@ class fatiguelife_gen(rv_continuous):
# Alpha. And the latter one, below, passes the tests, while the wiki
# one doesn't So far I didn't have the guts to actually check the
# coefficients from the expressions for the raw moments.
- c2 = c*c
+ c2 = c * c
mu = c2 / 2.0 + 1.0
den = 5.0 * c2 + 4.0
- mu2 = c2*den / 4.0
- g1 = 4 * c * (11*c2 + 6.0) / np.power(den, 1.5)
- g2 = 6 * c2 * (93*c2 + 40.0) / den**2.0
+ mu2 = c2 * den / 4.0
+ g1 = 4 * c * (11 * c2 + 6.0) / np.power(den, 1.5)
+ g2 = 6 * c2 * (93 * c2 + 40.0) / den ** 2.0
return mu, mu2, g1, g2
fatiguelife = fatiguelife_gen(a=0.0, name='fatiguelife')
class foldcauchy_gen(rv_continuous):
+
"""A folded Cauchy continuous random variable.
%(before_notes)s
@@ -1200,14 +1250,15 @@ class foldcauchy_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, c):
return abs(cauchy.rvs(loc=c, size=self._size))
def _pdf(self, x, c):
- return 1.0/pi*(1.0/(1+(x-c)**2) + 1.0/(1+(x+c)**2))
+ return 1.0 / pi * (1.0 / (1 + (x - c) ** 2) + 1.0 / (1 + (x + c) ** 2))
def _cdf(self, x, c):
- return 1.0/pi*(arctan(x-c) + arctan(x+c))
+ return 1.0 / pi * (arctan(x - c) + arctan(x + c))
def _stats(self, c):
return inf, inf, nan, nan
@@ -1215,6 +1266,7 @@ foldcauchy = foldcauchy_gen(a=0.0, name='foldcauchy')
class f_gen(rv_continuous):
+
"""An F continuous random variable.
%(before_notes)s
@@ -1232,6 +1284,7 @@ class f_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, dfn, dfd):
return mtrand.f(dfn, dfd, self._size)
@@ -1241,8 +1294,8 @@ class f_gen(rv_continuous):
def _logpdf(self, x, dfn, dfd):
n = 1.0 * dfn
m = 1.0 * dfd
- lPx = m/2 * log(m) + n/2 * log(n) + (n/2 - 1) * log(x)
- lPx -= ((n+m)/2) * log(m + n*x) + special.betaln(n/2, m/2)
+ lPx = m / 2 * log(m) + n / 2 * log(n) + (n / 2 - 1) * log(x)
+ lPx -= ((n + m) / 2) * log(m + n * x) + special.betaln(n / 2, m / 2)
return lPx
def _cdf(self, x, dfn, dfd):
@@ -1266,7 +1319,7 @@ class f_gen(rv_continuous):
mu2 = _lazywhere(
v2 > 4, (v1, v2, v2_2, v2_4),
lambda v1, v2, v2_2, v2_4:
- 2 * v2 * v2 * (v1 + v2_2) / (v1 * v2_2**2 * v2_4),
+ 2 * v2 * v2 * (v1 + v2_2) / (v1 * v2_2 ** 2 * v2_4),
np.inf)
g1 = _lazywhere(
@@ -1296,15 +1349,16 @@ class f_gen(rv_continuous):
f = f_gen(a=0.0, name='f')
-## Folded Normal
-## abs(Z) where (Z is normal with mu=L and std=S so that c=abs(L)/S)
+# Folded Normal
+# abs(Z) where (Z is normal with mu=L and std=S so that c=abs(L)/S)
##
-## note: regress docs have scale parameter correct, but first parameter
-## he gives is a shape parameter A = c * scale
+# note: regress docs have scale parameter correct, but first parameter
+# he gives is a shape parameter A = c * scale
-## Half-normal is folded normal with shape-parameter c=0.
+# Half-normal is folded normal with shape-parameter c=0.
class foldnorm_gen(rv_continuous):
+
"""A folded normal continuous random variable.
%(before_notes)s
@@ -1320,6 +1374,7 @@ class foldnorm_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, c):
return (c >= 0)
@@ -1327,37 +1382,38 @@ class foldnorm_gen(rv_continuous):
return abs(mtrand.standard_normal(self._size) + c)
def _pdf(self, x, c):
- return _norm_pdf(x + c) + _norm_pdf(x-c)
+ return _norm_pdf(x + c) + _norm_pdf(x - c)
def _cdf(self, x, c):
- return special.ndtr(x-c) + special.ndtr(x+c) - 1.0
+ return special.ndtr(x - c) + special.ndtr(x + c) - 1.0
def _stats(self, c):
# Regina C. Elandt, Technometrics 3, 551 (1961)
# http://www.jstor.org/stable/1266561
#
- c2 = c*c
- expfac = np.exp(-0.5*c2) / np.sqrt(2.*pi)
+ c2 = c * c
+ expfac = np.exp(-0.5 * c2) / np.sqrt(2. * pi)
- mu = 2.*expfac + c * special.erf(c/sqrt(2))
- mu2 = c2 + 1 - mu*mu
+ mu = 2. * expfac + c * special.erf(c / sqrt(2))
+ mu2 = c2 + 1 - mu * mu
- g1 = 2. * (mu*mu*mu - c2*mu - expfac)
+ g1 = 2. * (mu * mu * mu - c2 * mu - expfac)
g1 /= np.power(mu2, 1.5)
- g2 = c2 * (c2 + 6.) + 3 + 8.*expfac*mu
- g2 += (2. * (c2 - 3.) - 3. * mu**2) * mu**2
- g2 = g2 / mu2**2.0 - 3.
+ g2 = c2 * (c2 + 6.) + 3 + 8. * expfac * mu
+ g2 += (2. * (c2 - 3.) - 3. * mu ** 2) * mu ** 2
+ g2 = g2 / mu2 ** 2.0 - 3.
return mu, mu2, g1, g2
foldnorm = foldnorm_gen(a=0.0, name='foldnorm')
-## Extreme Value Type II or Frechet
-## (defined in Regress+ documentation as Extreme LB) as
-## a limiting value distribution.
+# Extreme Value Type II or Frechet
+# (defined in Regress+ documentation as Extreme LB) as
+# a limiting value distribution.
##
class frechet_r_gen(rv_continuous):
+
"""A Frechet right (or Weibull minimum) continuous random variable.
%(before_notes)s
@@ -1391,7 +1447,7 @@ class frechet_r_gen(rv_continuous):
return phati
def _pdf(self, x, c):
- return c*pow(x, c-1)*exp(-pow(x, c))
+ return c * pow(x, c - 1) * exp(-pow(x, c))
def _logpdf(self, x, c):
return log(c) + special.xlogy(c - 1, x) - pow(x, c)
@@ -1403,7 +1459,7 @@ class frechet_r_gen(rv_continuous):
return pow(-log1p(-q), 1.0 / c)
def _munp(self, n, c):
- return special.gamma(1.0+n*1.0/c)
+ return special.gamma(1.0 + n * 1.0 / c)
def _entropy(self, c):
return -_EULER / c - log(c) + _EULER + 1
@@ -1419,6 +1475,7 @@ weibull_min = frechet_r_gen(a=0.0, name='weibull_min')
class frechet_l_gen(rv_continuous):
+
"""A Frechet left (or Weibull maximum) continuous random variable.
%(before_notes)s
@@ -1439,17 +1496,18 @@ class frechet_l_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c):
- return c*pow(-x, c-1)*exp(-pow(-x, c))
+ return c * pow(-x, c - 1) * exp(-pow(-x, c))
def _cdf(self, x, c):
return exp(-pow(-x, c))
def _ppf(self, q, c):
- return -pow(-log(q), 1.0/c)
+ return -pow(-log(q), 1.0 / c)
def _munp(self, n, c):
- val = special.gamma(1.0+n*1.0/c)
+ val = special.gamma(1.0 + n * 1.0 / c)
if (int(n) % 2):
sgn = -1
else:
@@ -1469,6 +1527,7 @@ weibull_max = frechet_l_gen(b=0.0, name='weibull_max')
class genlogistic_gen(rv_continuous):
+
"""A generalized logistic continuous random variable.
%(before_notes)s
@@ -1484,6 +1543,7 @@ class genlogistic_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c):
return exp(self._logpdf(x, c))
@@ -1491,21 +1551,21 @@ class genlogistic_gen(rv_continuous):
return log(c) - x - (c + 1.0) * log1p(exp(-x))
def _cdf(self, x, c):
- Cx = (1+exp(-x))**(-c)
+ Cx = (1 + exp(-x)) ** (-c)
return Cx
def _ppf(self, q, c):
- vals = -log(pow(q, -1.0/c)-1)
+ vals = -log(pow(q, -1.0 / c) - 1)
return vals
def _stats(self, c):
zeta = special.zeta
mu = _EULER + special.psi(c)
- mu2 = pi*pi/6.0 + zeta(2, c)
- g1 = -2*zeta(3, c) + 2*_ZETA3
+ mu2 = pi * pi / 6.0 + zeta(2, c)
+ g1 = -2 * zeta(3, c) + 2 * _ZETA3
g1 /= np.power(mu2, 1.5)
- g2 = pi**4/15.0 + 6*zeta(4, c)
- g2 /= mu2**2.0
+ g2 = pi ** 4 / 15.0 + 6 * zeta(4, c)
+ g2 /= mu2 ** 2.0
return mu, mu2, g1, g2
genlogistic = genlogistic_gen(name='genlogistic')
@@ -1519,6 +1579,7 @@ def log1pxdx(x):
class genpareto_gen(rv_continuous):
+
"""A generalized Pareto continuous random variable.
%(before_notes)s
@@ -1529,7 +1590,7 @@ class genpareto_gen(rv_continuous):
genpareto.pdf(x, c) = (1 + c * x)**(-1 - 1/c)
- defined for ``x >= 0`` if ``c >=0``, and for
+ defined for ``x >= 0`` if ``c >=0``, and for
``0 <= x <= -1/c`` if ``c < 0``.
For ``c == 0``, `genpareto` reduces to the exponential
@@ -1582,11 +1643,11 @@ class genpareto_gen(rv_continuous):
def _logpdf(self, x, c):
return _lazywhere((x == x) & (c != 0), (x, c),
- lambda x, c: -special.xlog1py(c+1., c*x) / c,
- -x)
+ lambda x, c: -special.xlog1py(c + 1., c * x) / c,
+ -x)
def _cdf(self, x, c):
- return - expm1( self._logsf(x, c))
+ return - expm1(self._logsf(x, c))
def _sf(self, x, c):
return exp(self._logsf(x, c))
@@ -1595,13 +1656,13 @@ class genpareto_gen(rv_continuous):
return _lazywhere((x == x) & (c != 0), (x, c),
lambda x, c: -log1p(c * x) / c,
-x)
+
def _ppf(self, q, c):
return -boxcox1p(-q, -c)
def _isf(self, q, c):
return -boxcox(q, -c)
-
def _fitstart(self, data):
d = asarray(data)
loc = d.min() - 0.01 * d.std()
@@ -1634,7 +1695,7 @@ class genpareto_gen(rv_continuous):
if abs(c) > eps:
cx = c * x
sumlog1pcx = sum(log1p(cx))
- #LL = n*log(scale) + (1-1/k)*sumlog1mkxn
+ # LL = n*log(scale) + (1-1/k)*sumlog1mkxn
r = x / (1.0 + cx)
sumix = sum(1.0 / (1.0 + cx) ** 2.0)
@@ -1651,7 +1712,7 @@ class genpareto_gen(rv_continuous):
else: # c == 0
sumx = sum(x)
- #LL = n*log(scale) + sumx;
+ # LL = n*log(scale) + sumx;
sumx2 = sum(x ** 2.0)
H11 = -(2 / 3) * sum(x ** 3.0) + sumx2
@@ -1661,7 +1722,7 @@ class genpareto_gen(rv_continuous):
H33 = (n - 2 * sumx) / scale ** 2.0
H13 = -(sumx - sumx2) / scale
- #% Hessian matrix
+ # Hessian matrix
H = [[H11, H12, H13], [H12, H22, H23], [H13, H23, H33]]
return asarray(H)
@@ -1676,14 +1737,15 @@ class genpareto_gen(rv_continuous):
# = s^r*gamma(1+r)./( (1+k)*(1+2*k).*....*(1+r*k))
# E[(1-k(X-m0)/s)^r] = 1/(1+k*r)
- #%Ex3 = (sk.*sqrt(v)+3*m).*v+m^3
- #%Ex3 = 6.*s.^3/((1+k).*(1+2*k).*(1+3*k))
+ # Ex3 = (sk.*sqrt(v)+3*m).*v+m^3
+ # Ex3 = 6.*s.^3/((1+k).*(1+2*k).*(1+3*k))
r = 4.0
Ex4 = gam(1. + r) / \
((1. + k) * (1. + 2. * k) * (1. + 3. * k) * (1 + 4. * k))
m1 = m
- ku = where(k < -1. / 4, nan, (Ex4 - 4. * sk * v ** (3. / 2)
- * m1 - 6 * m1 ** 2. * v - m1 ** 4.) / v ** 2. - 3.0)
+ ku = where(k < -1. / 4, nan,
+ (Ex4 - 4. * sk * v ** (3. / 2)
+ * m1 - 6 * m1 ** 2. * v - m1 ** 4.) / v ** 2. - 3.0)
return m, v, sk, ku
def _munp(self, n, c):
@@ -1694,8 +1756,8 @@ class genpareto_gen(rv_continuous):
val = val + cnk * (-1) ** ki / (1.0 - c * ki)
return where(c * n < 1, val * (-1.0 / c) ** n, inf)
return _lazywhere(c != 0, (c,),
- lambda c: __munp(n, c),
- gam(n + 1))
+ lambda c: __munp(n, c),
+ gam(n + 1))
def _entropy(self, c):
return 1. + c
@@ -1703,6 +1765,7 @@ genpareto = genpareto_gen(a=0.0, name='genpareto')
class genexpon_gen(rv_continuous):
+
"""A generalized exponential continuous random variable.
%(before_notes)s
@@ -1752,11 +1815,12 @@ class genexpon_gen(rv_continuous):
def _logpdf(self, x, a, b, c):
return (np.log(a + b * (-expm1(-c * x))) + (-a - b) * x +
- b * (-expm1(-c * x)) / c)
+ b * (-expm1(-c * x)) / c)
genexpon = genexpon_gen(a=0.0, name='genexpon')
class genextreme_gen(rv_continuous):
+
"""A generalized extreme value continuous random variable.
%(before_notes)s
@@ -1774,15 +1838,16 @@ class genextreme_gen(rv_continuous):
exp(-exp(-x))*exp(-x), for c==0
exp(-(1-c*x)**(1/c))*(1-c*x)**(1/c-1), for x <= 1/c, c > 0
- Note that several sources and software packages use the opposite
- convention for the sign of the shape parameter ``c``.
+ Note that several sources and software packages use the opposite
+ convention for the sign of the shape parameter ``c``.
%(example)s
"""
+
def _argcheck(self, c):
- min = np.minimum
- max = np.maximum
+ min = np.minimum # @ReservedAssignment
+ max = np.maximum # @ReservedAssignment
self.b = where(c > 0, 1.0 / max(c, _XMIN), inf)
self.a = where(c < 0, 1.0 / min(c, -_XMIN), -inf)
return where(abs(c) == inf, 0, 1)
@@ -1811,7 +1876,7 @@ class genextreme_gen(rv_continuous):
x1 = where((c == 0) & (x == inf), 0.0, x)
cx = c * x1
loglogcdf = -x * log1pxdx(-cx)
- #loglogcdf = where((c==0)*(x==x),-x,log1p(-cx)/c)
+ # loglogcdf = where((c==0)*(x==x),-x,log1p(-cx)/c)
return -exp(loglogcdf)
def _sf(self, x, c):
@@ -1820,40 +1885,43 @@ class genextreme_gen(rv_continuous):
def _ppf(self, q, c):
x = -log(-log(q))
return _lazywhere((x == x) & (c != 0), (x, c),
- lambda x, c: -expm1(-c * x) / c, x)
+ lambda x, c: -expm1(-c * x) / c, x)
def _stats(self, c):
- g = lambda n: gam(n*c+1)
+ g = lambda n: gam(n * c + 1)
g1 = g(1)
g2 = g(2)
g3 = g(3)
g4 = g(4)
- g2mg12 = where(abs(c) < 1e-7, (c*pi)**2.0/6.0, g2-g1**2.0)
- gam2k = where(abs(c) < 1e-7, pi**2.0/6.0,
- expm1(gamln(2.0*c+1.0)-2*gamln(c+1.0))/c**2.0)
+ g2mg12 = where(abs(c) < 1e-7, (c * pi) ** 2.0 / 6.0, g2 - g1 ** 2.0)
+ gam2k = where(abs(c) < 1e-7, pi ** 2.0 / 6.0,
+ expm1(gamln(2.0 * c + 1.0) -
+ 2 * gamln(c + 1.0)) / c ** 2.0)
eps = 1e-14
gamk = where(abs(c) < eps, -_EULER, expm1(gamln(c + 1)) / c)
m = where(c < -1.0, nan, -gamk)
- v = where(c < -0.5, nan, g1**2.0*gam2k)
+ v = where(c < -0.5, nan, g1 ** 2.0 * gam2k)
# skewness
- sk1 = where(c < -1./3, nan,
- np.sign(c)*(-g3+(g2+2*g2mg12)*g1)/((g2mg12)**(3./2.)))
- sk = where(abs(c) <= eps**0.29, 12*sqrt(6)*_ZETA3/pi**3, sk1)
+ sk1 = where(c < -1. / 3, nan,
+ np.sign(c) * (-g3 + (g2 + 2 * g2mg12) * g1) /
+ ((g2mg12) ** (3. / 2.)))
+ sk = where(abs(c) <= eps ** 0.29, 12 * sqrt(6) * _ZETA3 / pi ** 3, sk1)
# kurtosis
- ku1 = where(c < -1./4, nan,
- (g4+(-4*g3+3*(g2+g2mg12)*g1)*g1)/((g2mg12)**2))
- ku = where(abs(c) <= (eps)**0.23, 12.0/5.0, ku1-3.0)
+ ku1 = where(c < -1. / 4, nan,
+ (g4 + (-4 * g3 + 3 * (g2 + g2mg12) * g1) * g1) /
+ ((g2mg12) ** 2))
+ ku = where(abs(c) <= (eps) ** 0.23, 12.0 / 5.0, ku1 - 3.0)
return m, v, sk, ku
def _munp(self, n, c):
- k = arange(0, n+1)
- vals = 1.0/c**n * sum(
- comb(n, k) * (-1)**k * special.gamma(c*k + 1),
+ k = arange(0, n + 1)
+ vals = 1.0 / c ** n * sum(
+ comb(n, k) * (-1) ** k * special.gamma(c * k + 1),
axis=0)
- return where(c*n > -1, vals, inf)
+ return where(c * n > -1, vals, inf)
def _fitstart(self, data):
d = asarray(data)
@@ -1899,25 +1967,26 @@ def _digammainv(y):
value = optimize.newton(func, x0, tol=1e-10)
return value
elif y > -3:
- x0 = exp(y/2.332) + 0.08661
+ x0 = exp(y / 2.332) + 0.08661
else:
x0 = 1.0 / (-y - _em)
- value, info, ier, mesg = optimize.fsolve(func, x0, xtol=1e-11,
- full_output=True)
+ value, _info, ier, _msg = optimize.fsolve(func, x0, xtol=1e-11,
+ full_output=True)
if ier != 1:
raise RuntimeError("_digammainv: fsolve failed, y = %r" % y)
return value[0]
-## Gamma (Use MATLAB and MATHEMATICA (b=theta=scale, a=alpha=shape) definition)
+# Gamma (Use MATLAB and MATHEMATICA (b=theta=scale, a=alpha=shape) definition)
-## gamma(a, loc, scale) with a an integer is the Erlang distribution
-## gamma(1, loc, scale) is the Exponential distribution
-## gamma(df/2, 0, 2) is the chi2 distribution with df degrees of freedom.
+# gamma(a, loc, scale) with a an integer is the Erlang distribution
+# gamma(1, loc, scale) is the Exponential distribution
+# gamma(df/2, 0, 2) is the chi2 distribution with df degrees of freedom.
class gamma_gen(rv_continuous):
+
"""A gamma continuous random variable.
%(before_notes)s
@@ -1951,6 +2020,7 @@ class gamma_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, a):
return mtrand.standard_gamma(a, self._size)
@@ -1958,7 +2028,7 @@ class gamma_gen(rv_continuous):
return exp(self._logpdf(x, a))
def _logpdf(self, x, a):
- return special.xlogy(a-1.0, x) - x - gamln(a)
+ return special.xlogy(a - 1.0, x) - x - gamln(a)
def _cdf(self, x, a):
return special.gammainc(a, x)
@@ -1970,10 +2040,10 @@ class gamma_gen(rv_continuous):
return special.gammaincinv(a, q)
def _stats(self, a):
- return a, a, 2.0/sqrt(a), 6.0/a
+ return a, a, 2.0 / sqrt(a), 6.0 / a
def _entropy(self, a):
- return special.psi(a)*(1-a) + a + gamln(a)
+ return special.psi(a) * (1 - a) + a + gamln(a)
def _fitstart(self, data):
# The skewness of the gamma distribution is `4 / sqrt(a)`.
@@ -1981,7 +2051,7 @@ class gamma_gen(rv_continuous):
# of the data. The formula is regularized with 1e-8 in the
# denominator to allow for degenerate data where the skewness
# is close to 0.
- a = 4 / (1e-8 + _skew(data)**2)
+ a = 4 / (1e-8 + _skew(data) ** 2)
return super(gamma_gen, self)._fitstart(data, args=(a,))
@inherit_docstring_from(rv_continuous)
@@ -2029,9 +2099,9 @@ class gamma_gen(rv_continuous):
# log(a) - special.digamma(a) - log(xbar) + log(data.mean) = 0
s = log(xbar) - log(data).mean()
func = lambda a: log(a) - special.digamma(a) - s
- aest = (3-s + np.sqrt((s-3)**2 + 24*s)) / (12*s)
- xa = aest*(1-0.4)
- xb = aest*(1+0.4)
+ aest = (3 - s + np.sqrt((s - 3) ** 2 + 24 * s)) / (12 * s)
+ xa = aest * (1 - 0.4)
+ xb = aest * (1 + 0.4)
a = optimize.brentq(func, xa, xb, disp=0)
# The MLE for the scale parameter is just the data mean
@@ -2051,6 +2121,7 @@ gamma = gamma_gen(a=0.0, name='gamma')
class erlang_gen(gamma_gen):
+
"""An Erlang continuous random variable.
%(before_notes)s
@@ -2086,7 +2157,7 @@ class erlang_gen(gamma_gen):
# Override gamma_gen_fitstart so that an integer initial value is
# used. (Also regularize the division, to avoid issues when
# _skew(data) is 0 or close to 0.)
- a = int(4.0 / (1e-8 + _skew(data)**2))
+ a = int(4.0 / (1e-8 + _skew(data) ** 2))
return super(gamma_gen, self)._fitstart(data, args=(a,))
# Trivial override of the fit method, so we can monkey-patch its
@@ -2096,7 +2167,7 @@ class erlang_gen(gamma_gen):
if fit.__doc__ is not None:
fit.__doc__ = (rv_continuous.fit.__doc__ +
- """
+ """
Notes
-----
The Erlang distribution is generally defined to have integer values
@@ -2110,6 +2181,7 @@ erlang = erlang_gen(a=0.0, name='erlang')
class gengamma_gen(rv_continuous):
+
"""A generalized gamma continuous random variable.
%(before_notes)s
@@ -2125,6 +2197,7 @@ class gengamma_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, a, c):
return (a > 0) & (c != 0)
@@ -2135,27 +2208,28 @@ class gengamma_gen(rv_continuous):
return log(abs(c)) + special.xlogy(c * a - 1, x) - x ** c - gamln(a)
def _cdf(self, x, a, c):
- val = special.gammainc(a, x**c)
- cond = c + 0*val
- return where(cond > 0, val, 1-val)
+ val = special.gammainc(a, x ** c)
+ cond = c + 0 * val
+ return where(cond > 0, val, 1 - val)
def _ppf(self, q, a, c):
val1 = special.gammaincinv(a, q)
- val2 = special.gammaincinv(a, 1.0-q)
- ic = 1.0/c
- cond = c+0*val1
- return where(cond > 0, val1**ic, val2**ic)
+ val2 = special.gammaincinv(a, 1.0 - q)
+ ic = 1.0 / c
+ cond = c + 0 * val1
+ return where(cond > 0, val1 ** ic, val2 ** ic)
def _munp(self, n, a, c):
- return special.gamma(a+n*1.0/c) / special.gamma(a)
+ return special.gamma(a + n * 1.0 / c) / special.gamma(a)
def _entropy(self, a, c):
val = special.psi(a)
- return a*(1-val) + 1.0/c*val + gamln(a)-log(abs(c))
+ return a * (1 - val) + 1.0 / c * val + gamln(a) - log(abs(c))
gengamma = gengamma_gen(a=0.0, name='gengamma')
class genhalflogistic_gen(rv_continuous):
+
"""A generalized half-logistic continuous random variable.
%(before_notes)s
@@ -2171,32 +2245,34 @@ class genhalflogistic_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, c):
self.b = 1.0 / c
return (c > 0)
def _pdf(self, x, c):
- limit = 1.0/c
- tmp = asarray(1-c*x)
- tmp0 = tmp**(limit-1)
- tmp2 = tmp0*tmp
- return 2*tmp0 / (1+tmp2)**2
+ limit = 1.0 / c
+ tmp = asarray(1 - c * x)
+ tmp0 = tmp ** (limit - 1)
+ tmp2 = tmp0 * tmp
+ return 2 * tmp0 / (1 + tmp2) ** 2
def _cdf(self, x, c):
- limit = 1.0/c
- tmp = asarray(1-c*x)
- tmp2 = tmp**(limit)
- return (1.0-tmp2) / (1+tmp2)
+ limit = 1.0 / c
+ tmp = asarray(1 - c * x)
+ tmp2 = tmp ** (limit)
+ return (1.0 - tmp2) / (1 + tmp2)
def _ppf(self, q, c):
- return 1.0/c*(1-((1.0-q)/(1.0+q))**c)
+ return 1.0 / c * (1 - ((1.0 - q) / (1.0 + q)) ** c)
def _entropy(self, c):
- return 2 - (2*c+1)*log(2)
+ return 2 - (2 * c + 1) * log(2)
genhalflogistic = genhalflogistic_gen(a=0.0, name='genhalflogistic')
class gompertz_gen(rv_continuous):
+
"""A Gompertz (or truncated Gumbel) continuous random variable.
%(before_notes)s
@@ -2212,6 +2288,7 @@ class gompertz_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c):
return exp(self._logpdf(x, c))
@@ -2230,6 +2307,7 @@ gompertz = gompertz_gen(a=0.0, name='gompertz')
class gumbel_r_gen(rv_continuous):
+
"""A right-skewed Gumbel continuous random variable.
%(before_notes)s
@@ -2251,6 +2329,7 @@ class gumbel_r_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
return exp(self._logpdf(x))
@@ -2267,7 +2346,7 @@ class gumbel_r_gen(rv_continuous):
return -log(-log(q))
def _stats(self):
- return _EULER, pi*pi/6.0, 12*sqrt(6)/pi**3 * _ZETA3, 12.0/5
+ return _EULER, pi * pi / 6.0, 12 * sqrt(6) / pi ** 3 * _ZETA3, 12.0 / 5
def _entropy(self):
# http://en.wikipedia.org/wiki/Gumbel_distribution
@@ -2276,6 +2355,7 @@ gumbel_r = gumbel_r_gen(name='gumbel_r')
class gumbel_l_gen(rv_continuous):
+
"""A left-skewed Gumbel continuous random variable.
%(before_notes)s
@@ -2297,6 +2377,7 @@ class gumbel_l_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
return exp(self._logpdf(x))
@@ -2310,8 +2391,8 @@ class gumbel_l_gen(rv_continuous):
return log(-log1p(-q))
def _stats(self):
- return -_EULER, pi*pi/6.0, \
- -12*sqrt(6)/pi**3 * _ZETA3, 12.0/5
+ return -_EULER, pi * pi / 6.0, \
+ -12 * sqrt(6) / pi ** 3 * _ZETA3, 12.0 / 5
def _entropy(self):
return _EULER + 1.
@@ -2319,6 +2400,7 @@ gumbel_l = gumbel_l_gen(name='gumbel_l')
class halfcauchy_gen(rv_continuous):
+
"""A Half-Cauchy continuous random variable.
%(before_notes)s
@@ -2334,27 +2416,29 @@ class halfcauchy_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
- return 2.0/pi/(1.0+x*x)
+ return 2.0 / pi / (1.0 + x * x)
def _logpdf(self, x):
- return np.log(2.0/pi) - special.log1p(x*x)
+ return np.log(2.0 / pi) - special.log1p(x * x)
def _cdf(self, x):
- return 2.0/pi*arctan(x)
+ return 2.0 / pi * arctan(x)
def _ppf(self, q):
- return tan(pi/2*q)
+ return tan(pi / 2 * q)
def _stats(self):
return inf, inf, nan, nan
def _entropy(self):
- return log(2*pi)
+ return log(2 * pi)
halfcauchy = halfcauchy_gen(a=0.0, name='halfcauchy')
class halflogistic_gen(rv_continuous):
+
"""A half-logistic continuous random variable.
%(before_notes)s
@@ -2370,6 +2454,7 @@ class halflogistic_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
return exp(self._logpdf(x))
@@ -2377,28 +2462,30 @@ class halflogistic_gen(rv_continuous):
return log(2) - x - 2. * special.log1p(exp(-x))
def _cdf(self, x):
- return tanh(x/2.0)
+ return tanh(x / 2.0)
def _ppf(self, q):
- return 2*arctanh(q)
+ return 2 * arctanh(q)
def _munp(self, n):
if n == 1:
- return 2*log(2)
+ return 2 * log(2)
if n == 2:
- return pi*pi/3.0
+ return pi * pi / 3.0
if n == 3:
- return 9*_ZETA3
+ return 9 * _ZETA3
if n == 4:
- return 7*pi**4 / 15.0
- return 2*(1-pow(2.0, 1-n))*special.gamma(n+1)*special.zeta(n, 1)
+ return 7 * pi ** 4 / 15.0
+ return 2 * (1 - pow(2.0, 1 - n)) * \
+ special.gamma(n + 1) * special.zeta(n, 1)
def _entropy(self):
- return 2-log(2)
+ return 2 - log(2)
halflogistic = halflogistic_gen(a=0.0, name='halflogistic')
class halfnorm_gen(rv_continuous):
+
"""A half-normal continuous random variable.
%(before_notes)s
@@ -2416,31 +2503,34 @@ class halfnorm_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self):
return abs(mtrand.standard_normal(size=self._size))
def _pdf(self, x):
- return sqrt(2.0/pi)*exp(-x*x/2.0)
+ return sqrt(2.0 / pi) * exp(-x * x / 2.0)
def _logpdf(self, x):
- return 0.5 * np.log(2.0/pi) - x*x/2.0
+ return 0.5 * np.log(2.0 / pi) - x * x / 2.0
def _cdf(self, x):
- return special.ndtr(x)*2-1.0
+ return special.ndtr(x) * 2 - 1.0
def _ppf(self, q):
- return special.ndtri((1+q)/2.0)
+ return special.ndtri((1 + q) / 2.0)
def _stats(self):
- return (sqrt(2.0/pi), 1-2.0/pi, sqrt(2)*(4-pi)/(pi-2)**1.5,
- 8*(pi-3)/(pi-2)**2)
+ return (sqrt(2.0 / pi),
+ 1 - 2.0 / pi, sqrt(2) * (4 - pi) / (pi - 2) ** 1.5,
+ 8 * (pi - 3) / (pi - 2) ** 2)
def _entropy(self):
- return 0.5*log(pi/2.0)+0.5
+ return 0.5 * log(pi / 2.0) + 0.5
halfnorm = halfnorm_gen(a=0.0, name='halfnorm')
class hypsecant_gen(rv_continuous):
+
"""A hyperbolic secant continuous random variable.
%(before_notes)s
@@ -2454,24 +2544,26 @@ class hypsecant_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
- return 1.0/(pi*cosh(x))
+ return 1.0 / (pi * cosh(x))
def _cdf(self, x):
- return 2.0/pi*arctan(exp(x))
+ return 2.0 / pi * arctan(exp(x))
def _ppf(self, q):
- return log(tan(pi*q/2.0))
+ return log(tan(pi * q / 2.0))
def _stats(self):
- return 0, pi*pi/4, 0, 2
+ return 0, pi * pi / 4, 0, 2
def _entropy(self):
- return log(2*pi)
+ return log(2 * pi)
hypsecant = hypsecant_gen(name='hypsecant')
class gausshyper_gen(rv_continuous):
+
"""A Gauss hypergeometric continuous random variable.
%(before_notes)s
@@ -2489,22 +2581,25 @@ class gausshyper_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, a, b, c, z):
return (a > 0) & (b > 0) & (c == c) & (z == z)
def _pdf(self, x, a, b, c, z):
- Cinv = gam(a)*gam(b)/gam(a+b)*special.hyp2f1(c, a, a+b, -z)
- return 1.0/Cinv * x**(a-1.0) * (1.0-x)**(b-1.0) / (1.0+z*x)**c
+ Cinv = gam(a) * gam(b) / gam(a + b) * special.hyp2f1(c, a, a + b, -z)
+ return 1.0 / Cinv * \
+ x ** (a - 1.0) * (1.0 - x) ** (b - 1.0) / (1.0 + z * x) ** c
def _munp(self, n, a, b, c, z):
- fac = special.beta(n+a, b) / special.beta(a, b)
- num = special.hyp2f1(c, a+n, a+b+n, -z)
- den = special.hyp2f1(c, a, a+b, -z)
- return fac*num / den
+ fac = special.beta(n + a, b) / special.beta(a, b)
+ num = special.hyp2f1(c, a + n, a + b + n, -z)
+ den = special.hyp2f1(c, a, a + b, -z)
+ return fac * num / den
gausshyper = gausshyper_gen(a=0.0, b=1.0, name='gausshyper')
class invgamma_gen(rv_continuous):
+
"""An inverted gamma continuous random variable.
%(before_notes)s
@@ -2522,21 +2617,22 @@ class invgamma_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, a):
return exp(self._logpdf(x, a))
def _logpdf(self, x, a):
- return (-(a+1) * log(x) - gamln(a) - 1.0/x)
+ return (-(a + 1) * log(x) - gamln(a) - 1.0 / x)
def _cdf(self, x, a):
- return 1.0 - special.gammainc(a, 1.0/x)
+ return 1.0 - special.gammainc(a, 1.0 / x)
def _ppf(self, q, a):
- return 1.0 / special.gammaincinv(a, 1.-q)
+ return 1.0 / special.gammaincinv(a, 1. - q)
def _stats(self, a, moments='mvsk'):
m1 = _lazywhere(a > 1, (a,), lambda x: 1. / (x - 1.), np.inf)
- m2 = _lazywhere(a > 2, (a,), lambda x: 1. / (x - 1.)**2 / (x - 2.),
+ m2 = _lazywhere(a > 2, (a,), lambda x: 1. / (x - 1.) ** 2 / (x - 2.),
np.inf)
g1, g2 = None, None
@@ -2551,12 +2647,13 @@ class invgamma_gen(rv_continuous):
return m1, m2, g1, g2
def _entropy(self, a):
- return a - (a+1.0) * special.psi(a) + gamln(a)
+ return a - (a + 1.0) * special.psi(a) + gamln(a)
invgamma = invgamma_gen(a=0.0, name='invgamma')
# scale is gamma from DATAPLOT and B from Regress
class invgauss_gen(rv_continuous):
+
"""An inverse Gaussian continuous random variable.
%(before_notes)s
@@ -2576,28 +2673,32 @@ class invgauss_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, mu):
return mtrand.wald(mu, 1.0, size=self._size)
def _pdf(self, x, mu):
- return 1.0/sqrt(2*pi*x**3.0)*exp(-1.0/(2*x)*((x-mu)/mu)**2)
+ return 1.0 / sqrt(2 * pi * x ** 3.0) * \
+ exp(-1.0 / (2 * x) * ((x - mu) / mu) ** 2)
def _logpdf(self, x, mu):
- return -0.5*log(2*pi) - 1.5*log(x) - ((x-mu)/mu)**2/(2*x)
+ return -0.5 * log(2 * pi) - 1.5 * log(x) - \
+ ((x - mu) / mu) ** 2 / (2 * x)
def _cdf(self, x, mu):
- fac = sqrt(1.0/x)
+ fac = sqrt(1.0 / x)
# Numerical accuracy for small `mu` is bad. See #869.
- C1 = _norm_cdf(fac*(x-mu)/mu)
- C1 += exp(1.0/mu) * _norm_cdf(-fac*(x+mu)/mu) * exp(1.0/mu)
+ C1 = _norm_cdf(fac * (x - mu) / mu)
+ C1 += exp(1.0 / mu) * _norm_cdf(-fac * (x + mu) / mu) * exp(1.0 / mu)
return C1
def _stats(self, mu):
- return mu, mu**3.0, 3*sqrt(mu), 15*mu
+ return mu, mu ** 3.0, 3 * sqrt(mu), 15 * mu
invgauss = invgauss_gen(a=0.0, name='invgauss')
class invweibull_gen(rv_continuous):
+
"""An inverted Weibull continuous random variable.
%(before_notes)s
@@ -2618,6 +2719,7 @@ class invweibull_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c):
xc1 = np.power(x, -c - 1.0)
xc2 = np.power(x, -c)
@@ -2629,17 +2731,18 @@ class invweibull_gen(rv_continuous):
return exp(-xc1)
def _ppf(self, q, c):
- return np.power(-log(q), -1.0/c)
+ return np.power(-log(q), -1.0 / c)
def _munp(self, n, c):
return special.gamma(1 - n / c)
def _entropy(self, c):
- return 1+_EULER + _EULER / c - log(c)
+ return 1 + _EULER + _EULER / c - log(c)
invweibull = invweibull_gen(a=0, name='invweibull')
class johnsonsb_gen(rv_continuous):
+
"""A Johnson SB continuous random variable.
%(before_notes)s
@@ -2659,15 +2762,16 @@ class johnsonsb_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, a, b):
return (b > 0) & (a == a)
def _pdf(self, x, a, b):
- trm = _norm_pdf(a + b*log(x/(1.0-x)))
- return b*1.0/(x*(1-x))*trm
+ trm = _norm_pdf(a + b * log(x / (1.0 - x)))
+ return b * 1.0 / (x * (1 - x)) * trm
def _cdf(self, x, a, b):
- return _norm_cdf(a + b*log(x/(1.0-x)))
+ return _norm_cdf(a + b * log(x / (1.0 - x)))
def _ppf(self, q, a, b):
return 1.0 / (1 + exp(-1.0 / b * (_norm_ppf(q) - a)))
@@ -2675,6 +2779,7 @@ johnsonsb = johnsonsb_gen(a=0.0, b=1.0, name='johnsonsb')
class johnsonsu_gen(rv_continuous):
+
"""A Johnson SU continuous random variable.
%(before_notes)s
@@ -2695,16 +2800,17 @@ class johnsonsu_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, a, b):
return (b > 0) & (a == a)
def _pdf(self, x, a, b):
- x2 = x*x
- trm = _norm_pdf(a + b * log(x + sqrt(x2+1)))
- return b*1.0/sqrt(x2+1.0)*trm
+ x2 = x * x
+ trm = _norm_pdf(a + b * log(x + sqrt(x2 + 1)))
+ return b * 1.0 / sqrt(x2 + 1.0) * trm
def _cdf(self, x, a, b):
- return _norm_cdf(a + b * log(x + sqrt(x*x + 1)))
+ return _norm_cdf(a + b * log(x + sqrt(x * x + 1)))
def _ppf(self, q, a, b):
return sinh((_norm_ppf(q) - a) / b)
@@ -2712,6 +2818,7 @@ johnsonsu = johnsonsu_gen(name='johnsonsu')
class laplace_gen(rv_continuous):
+
"""A Laplace continuous random variable.
%(before_notes)s
@@ -2725,14 +2832,15 @@ class laplace_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self):
return mtrand.laplace(0, 1, size=self._size)
def _pdf(self, x):
- return 0.5*exp(-abs(x))
+ return 0.5 * exp(-abs(x))
def _cdf(self, x):
- return where(x > 0, 1.0-0.5*exp(-x), 0.5*exp(x))
+ return where(x > 0, 1.0 - 0.5 * exp(-x), 0.5 * exp(x))
def _ppf(self, q):
return where(q > 0.5, -log(2) - log1p(-q), log(2 * q))
@@ -2741,11 +2849,12 @@ class laplace_gen(rv_continuous):
return 0, 2, 0, 3
def _entropy(self):
- return log(2)+1
+ return log(2) + 1
laplace = laplace_gen(name='laplace')
class levy_gen(rv_continuous):
+
"""A Levy continuous random variable.
%(before_notes)s
@@ -2767,8 +2876,9 @@ class levy_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
- return 1 / sqrt(2*pi*x) / x * exp(-1/(2*x))
+ return 1 / sqrt(2 * pi * x) / x * exp(-1 / (2 * x))
def _cdf(self, x):
# Equivalent to 2*norm.sf(sqrt(1/x))
@@ -2776,7 +2886,7 @@ class levy_gen(rv_continuous):
def _ppf(self, q):
# Equivalent to 1.0/(norm.isf(q/2)**2) or 0.5/(erfcinv(q)**2)
- val = -special.ndtri(q/2)
+ val = -special.ndtri(q / 2)
return 1.0 / (val * val)
def _stats(self):
@@ -2785,6 +2895,7 @@ levy = levy_gen(a=0.0, name="levy")
class levy_l_gen(rv_continuous):
+
"""A left-skewed Levy continuous random variable.
%(before_notes)s
@@ -2806,9 +2917,10 @@ class levy_l_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
ax = abs(x)
- return 1/sqrt(2*pi*ax)/ax*exp(-1/(2*ax))
+ return 1 / sqrt(2 * pi * ax) / ax * exp(-1 / (2 * ax))
def _cdf(self, x):
ax = abs(x)
@@ -2824,6 +2936,7 @@ levy_l = levy_l_gen(b=0.0, name="levy_l")
class levy_stable_gen(rv_continuous):
+
"""A Levy-stable continuous random variable.
%(before_notes)s
@@ -2840,22 +2953,26 @@ class levy_stable_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, alpha, beta):
sz = self._size
- TH = uniform.rvs(loc=-pi/2.0, scale=pi, size=sz)
+ TH = uniform.rvs(loc=-pi / 2.0, scale=pi, size=sz)
W = expon.rvs(size=sz)
if alpha == 1:
- return 2/pi*(pi/2+beta*TH)*tan(TH)-beta*log((pi/2*W*cos(TH))/(pi/2+beta*TH))
+ return 2 / pi * (pi / 2 + beta * TH) * tan(TH) - beta * \
+ log((pi / 2 * W * cos(TH)) / (pi / 2 + beta * TH))
- ialpha = 1.0/alpha
- aTH = alpha*TH
+ ialpha = 1.0 / alpha
+ aTH = alpha * TH
if beta == 0:
- return W/(cos(TH)/tan(aTH)+sin(TH))*((cos(aTH)+sin(aTH)*tan(TH))/W)**ialpha
-
- val0 = beta*tan(pi*alpha/2)
- th0 = arctan(val0)/alpha
- val3 = W/(cos(TH)/tan(alpha*(th0+TH))+sin(TH))
- res3 = val3*((cos(aTH)+sin(aTH)*tan(TH)-val0*(sin(aTH)-cos(aTH)*tan(TH)))/W)**ialpha
+ return W / (cos(TH) / tan(aTH) + sin(TH)) * \
+ ((cos(aTH) + sin(aTH) * tan(TH)) / W) ** ialpha
+
+ val0 = beta * tan(pi * alpha / 2)
+ th0 = arctan(val0) / alpha
+ val3 = W / (cos(TH) / tan(alpha * (th0 + TH)) + sin(TH))
+ res3 = val3 * ((cos(aTH) + sin(aTH) * tan(TH) - val0 *
+ (sin(aTH) - cos(aTH) * tan(TH))) / W) ** ialpha
return res3
def _argcheck(self, alpha, beta):
@@ -2871,6 +2988,7 @@ levy_stable = levy_stable_gen(name='levy_stable')
class logistic_gen(rv_continuous):
+
"""A logistic (or Sech-squared) continuous random variable.
%(before_notes)s
@@ -2886,6 +3004,7 @@ class logistic_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self):
return mtrand.logistic(size=self._size)
@@ -2902,7 +3021,7 @@ class logistic_gen(rv_continuous):
return -log1p(-q) + log(q)
def _stats(self):
- return 0, pi*pi/3.0, 0, 6.0/5.0
+ return 0, pi * pi / 3.0, 0, 6.0 / 5.0
def _entropy(self):
# http://en.wikipedia.org/wiki/Logistic_distribution
@@ -2911,6 +3030,7 @@ logistic = logistic_gen(name='logistic')
class loggamma_gen(rv_continuous):
+
"""A log gamma continuous random variable.
%(before_notes)s
@@ -2926,11 +3046,12 @@ class loggamma_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, c):
return log(mtrand.gamma(c, size=self._size))
def _pdf(self, x, c):
- return exp(c*x-exp(x)-gamln(c))
+ return exp(c * x - exp(x) - gamln(c))
def _cdf(self, x, c):
return special.gammainc(c, exp(x))
@@ -2944,13 +3065,14 @@ class loggamma_gen(rv_continuous):
mean = special.digamma(c)
var = special.polygamma(1, c)
skewness = special.polygamma(2, c) / np.power(var, 1.5)
- excess_kurtosis = special.polygamma(3, c) / (var*var)
+ excess_kurtosis = special.polygamma(3, c) / (var * var)
return mean, var, skewness, excess_kurtosis
loggamma = loggamma_gen(name='loggamma')
class loglaplace_gen(rv_continuous):
+
"""A log-Laplace continuous random variable.
%(before_notes)s
@@ -2972,30 +3094,34 @@ class loglaplace_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c):
- cd2 = c/2.0
+ cd2 = c / 2.0
c = where(x < 1, c, -c)
- return cd2*x**(c-1)
+ return cd2 * x ** (c - 1)
def _cdf(self, x, c):
- return where(x < 1, 0.5*x**c, 1-0.5*x**(-c))
+ return where(x < 1, 0.5 * x ** c, 1 - 0.5 * x ** (-c))
def _ppf(self, q, c):
- return where(q < 0.5, (2.0*q)**(1.0/c), (2*(1.0-q))**(-1.0/c))
+ return where(
+ q < 0.5, (2.0 * q) ** (1.0 / c), (2 * (1.0 - q)) ** (-1.0 / c))
def _munp(self, n, c):
- return c**2 / (c**2 - n**2)
+ return c ** 2 / (c ** 2 - n ** 2)
def _entropy(self, c):
- return log(2.0/c) + 1.0
+ return log(2.0 / c) + 1.0
loglaplace = loglaplace_gen(a=0.0, name='loglaplace')
def _lognorm_logpdf(x, s):
- return -log(x)**2 / (2*s**2) + np.where(x == 0, 0, -log(s*x*sqrt(2*pi)))
+ return -log(x) ** 2 / (2 * s ** 2) + \
+ np.where(x == 0, 0, -log(s * x * sqrt(2 * pi)))
class lognorm_gen(rv_continuous):
+
"""A lognormal continuous random variable.
%(before_notes)s
@@ -3015,6 +3141,7 @@ class lognorm_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, s):
return exp(s * mtrand.standard_normal(self._size))
@@ -3031,15 +3158,15 @@ class lognorm_gen(rv_continuous):
return exp(s * _norm_ppf(q))
def _stats(self, s):
- p = exp(s*s)
+ p = exp(s * s)
mu = sqrt(p)
- mu2 = p*(p-1)
- g1 = sqrt((p-1))*(2+p)
+ mu2 = p * (p - 1)
+ g1 = sqrt((p - 1)) * (2 + p)
g2 = np.polyval([1, 2, 3, 0, -6.0], p)
return mu, mu2, g1, g2
def _entropy(self, s):
- return 0.5 * (1 + log(2*pi) + 2 * log(s))
+ return 0.5 * (1 + log(2 * pi) + 2 * log(s))
def _fitstart(self, data):
scale = data.std()
@@ -3052,6 +3179,7 @@ lognorm = lognorm_gen(a=0.0, name='lognorm')
class gilbrat_gen(rv_continuous):
+
"""A Gilbrat continuous random variable.
%(before_notes)s
@@ -3067,6 +3195,7 @@ class gilbrat_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self):
return exp(mtrand.standard_normal(self._size))
@@ -3101,6 +3230,7 @@ gilbrat = gilbrat_gen(a=0.0, name='gilbrat')
class maxwell_gen(rv_continuous):
+
"""A Maxwell continuous random variable.
%(before_notes)s
@@ -3123,29 +3253,32 @@ class maxwell_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self):
return chi.rvs(3.0, size=self._size)
def _pdf(self, x):
- return sqrt(2.0/pi)*x*x*exp(-x*x/2.0)
+ return sqrt(2.0 / pi) * x * x * exp(-x * x / 2.0)
def _cdf(self, x):
- return special.gammainc(1.5, x*x/2.0)
+ return special.gammainc(1.5, x * x / 2.0)
def _ppf(self, q):
- return sqrt(2*special.gammaincinv(1.5, q))
+ return sqrt(2 * special.gammaincinv(1.5, q))
def _stats(self):
- val = 3*pi-8
- return (2*sqrt(2.0/pi), 3-8/pi, sqrt(2)*(32-10*pi)/val**1.5,
- (-12*pi*pi + 160*pi - 384) / val**2.0)
+ val = 3 * pi - 8
+ return (2 * sqrt(2.0 / pi), 3 -
+ 8 / pi, sqrt(2) * (32 - 10 * pi) / val ** 1.5,
+ (-12 * pi * pi + 160 * pi - 384) / val ** 2.0)
def _entropy(self):
- return _EULER + 0.5*log(2*pi)-0.5
+ return _EULER + 0.5 * log(2 * pi) - 0.5
maxwell = maxwell_gen(a=0.0, name='maxwell')
class mielke_gen(rv_continuous):
+
"""A Mielke's Beta-Kappa continuous random variable.
%(before_notes)s
@@ -3161,19 +3294,21 @@ class mielke_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, k, s):
- return k*x**(k-1.0) / (1.0+x**s)**(1.0+k*1.0/s)
+ return k * x ** (k - 1.0) / (1.0 + x ** s) ** (1.0 + k * 1.0 / s)
def _cdf(self, x, k, s):
- return x**k / (1.0+x**s)**(k*1.0/s)
+ return x ** k / (1.0 + x ** s) ** (k * 1.0 / s)
def _ppf(self, q, k, s):
- qsk = pow(q, s*1.0/k)
- return pow(qsk/(1.0-qsk), 1.0/s)
+ qsk = pow(q, s * 1.0 / k)
+ return pow(qsk / (1.0 - qsk), 1.0 / s)
mielke = mielke_gen(a=0.0, name='mielke')
class nakagami_gen(rv_continuous):
+
"""A Nakagami continuous random variable.
%(before_notes)s
@@ -3190,26 +3325,29 @@ class nakagami_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, nu):
- return 2*nu**nu/gam(nu)*(x**(2*nu-1.0))*exp(-nu*x*x)
+ return 2 * nu ** nu / \
+ gam(nu) * (x ** (2 * nu - 1.0)) * exp(-nu * x * x)
def _cdf(self, x, nu):
- return special.gammainc(nu, nu*x*x)
+ return special.gammainc(nu, nu * x * x)
def _ppf(self, q, nu):
- return sqrt(1.0/nu*special.gammaincinv(nu, q))
+ return sqrt(1.0 / nu * special.gammaincinv(nu, q))
def _stats(self, nu):
- mu = gam(nu+0.5)/gam(nu)/sqrt(nu)
- mu2 = 1.0-mu*mu
- g1 = mu * (1 - 4*nu*mu2) / 2.0 / nu / np.power(mu2, 1.5)
- g2 = -6*mu**4*nu + (8*nu-2)*mu**2-2*nu + 1
- g2 /= nu*mu2**2.0
+ mu = gam(nu + 0.5) / gam(nu) / sqrt(nu)
+ mu2 = 1.0 - mu * mu
+ g1 = mu * (1 - 4 * nu * mu2) / 2.0 / nu / np.power(mu2, 1.5)
+ g2 = -6 * mu ** 4 * nu + (8 * nu - 2) * mu ** 2 - 2 * nu + 1
+ g2 /= nu * mu2 ** 2.0
return mu, mu2, g1, g2
nakagami = nakagami_gen(a=0.0, name="nakagami")
class ncx2_gen(rv_continuous):
+
"""A non-central chi-squared continuous random variable.
%(before_notes)s
@@ -3226,6 +3364,7 @@ class ncx2_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, df, nc):
return mtrand.noncentral_chisquare(df, nc, self._size)
@@ -3242,9 +3381,9 @@ class ncx2_gen(rv_continuous):
return special.chndtrix(q, df, nc)
def _stats(self, df, nc):
- val = df + 2.0*nc
- return (df + nc, 2*val, sqrt(8)*(val+nc)/val**1.5,
- 12.0*(val+2*nc)/val**2.0)
+ val = df + 2.0 * nc
+ return (df + nc, 2 * val, sqrt(8) * (val + nc) / val ** 1.5,
+ 12.0 * (val + 2 * nc) / val ** 2.0)
def _fitstart(self, data):
m = data.mean()
@@ -3257,6 +3396,7 @@ ncx2 = ncx2_gen(a=0.0, name='ncx2')
class ncf_gen(rv_continuous):
+
"""A non-central F distribution continuous random variable.
%(before_notes)s
@@ -3277,18 +3417,30 @@ class ncf_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, dfn, dfd, nc):
return mtrand.noncentral_f(dfn, dfd, nc, self._size)
def _pdf_skip(self, x, dfn, dfd, nc):
n1, n2 = dfn, dfd
- term = -nc/2+nc*n1*x/(2*(n2+n1*x)) + gamln(n1/2.)+gamln(1+n2/2.)
- term -= gamln((n1+n2)/2.0)
+ term = -nc / 2 + nc * n1 * x / \
+ (2 * (n2 + n1 * x)) + gamln(n1 / 2.) + gamln(1 + n2 / 2.)
+ term -= gamln((n1 + n2) / 2.0)
Px = exp(term)
- Px *= n1**(n1/2) * n2**(n2/2) * x**(n1/2-1)
- Px *= (n2+n1*x)**(-(n1+n2)/2)
- Px *= special.assoc_laguerre(-nc*n1*x/(2.0*(n2+n1*x)), n2/2, n1/2-1)
- Px /= special.beta(n1/2, n2/2)
+ Px *= n1 ** (n1 / 2) * n2 ** (n2 / 2) * x ** (n1 / 2 - 1)
+ Px *= (n2 + n1 * x) ** (-(n1 + n2) / 2)
+ Px *= special.assoc_laguerre(-
+ nc *
+ n1 *
+ x /
+ (2.0 *
+ (n2 +
+ n1 *
+ x)), n2 /
+ 2, n1 /
+ 2 -
+ 1)
+ Px /= special.beta(n1 / 2, n2 / 2)
# This function does not have a return. Drop it for now, the generic
# function seems to work OK.
@@ -3299,22 +3451,23 @@ class ncf_gen(rv_continuous):
return special.ncfdtri(dfn, dfd, nc, q)
def _munp(self, n, dfn, dfd, nc):
- val = (dfn * 1.0/dfd)**n
- term = gamln(n+0.5*dfn) + gamln(0.5*dfd-n) - gamln(dfd*0.5)
- val *= exp(-nc / 2.0+term)
- val *= special.hyp1f1(n+0.5*dfn, 0.5*dfn, 0.5*nc)
+ val = (dfn * 1.0 / dfd) ** n
+ term = gamln(n + 0.5 * dfn) + gamln(0.5 * dfd - n) - gamln(dfd * 0.5)
+ val *= exp(-nc / 2.0 + term)
+ val *= special.hyp1f1(n + 0.5 * dfn, 0.5 * dfn, 0.5 * nc)
return val
def _stats(self, dfn, dfd, nc):
- mu = where(dfd <= 2, inf, dfd / (dfd-2.0)*(1+nc*1.0/dfn))
- mu2 = where(dfd <= 4, inf, 2*(dfd*1.0/dfn)**2.0 *
- ((dfn+nc/2.0)**2.0 + (dfn+nc)*(dfd-2.0)) /
- ((dfd-2.0)**2.0 * (dfd-4.0)))
+ mu = where(dfd <= 2, inf, dfd / (dfd - 2.0) * (1 + nc * 1.0 / dfn))
+ mu2 = where(dfd <= 4, inf, 2 * (dfd * 1.0 / dfn) ** 2.0 *
+ ((dfn + nc / 2.0) ** 2.0 + (dfn + nc) * (dfd - 2.0)) /
+ ((dfd - 2.0) ** 2.0 * (dfd - 4.0)))
return mu, mu2, None, None
ncf = ncf_gen(a=0.0, name='ncf')
class t_gen(rv_continuous):
+
"""A Student's T continuous random variable.
%(before_notes)s
@@ -3332,19 +3485,20 @@ class t_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, df):
return mtrand.standard_t(df, size=self._size)
def _pdf(self, x, df):
- r = asarray(df*1.0)
- Px = exp(gamln((r+1)/2)-gamln(r/2))
- Px /= sqrt(r*pi)*(1+(x**2)/r)**((r+1)/2)
+ r = asarray(df * 1.0)
+ Px = exp(gamln((r + 1) / 2) - gamln(r / 2))
+ Px /= sqrt(r * pi) * (1 + (x ** 2) / r) ** ((r + 1) / 2)
return Px
def _logpdf(self, x, df):
- r = df*1.0
- lPx = gamln((r+1)/2)-gamln(r/2)
- lPx -= 0.5*log(r*pi) + (r+1)/2*log(1+(x**2)/r)
+ r = df * 1.0
+ lPx = gamln((r + 1) / 2) - gamln(r / 2)
+ lPx -= 0.5 * log(r * pi) + (r + 1) / 2 * log(1 + (x ** 2) / r)
return lPx
def _cdf(self, x, df):
@@ -3360,14 +3514,15 @@ class t_gen(rv_continuous):
return -special.stdtrit(df, q)
def _stats(self, df):
- mu2 = where(df > 2, df / (df-2.0), inf)
+ mu2 = where(df > 2, df / (df - 2.0), inf)
g1 = where(df > 3, 0.0, nan)
- g2 = where(df > 4, 6.0/(df-4.0), nan)
+ g2 = where(df > 4, 6.0 / (df - 4.0), nan)
return 0, mu2, g1, g2
t = t_gen(name='t')
class nct_gen(rv_continuous):
+
"""A non-central Student's T continuous random variable.
%(before_notes)s
@@ -3376,15 +3531,16 @@ class nct_gen(rv_continuous):
-----
The probability density function for `nct` is::
- df**(df/2) * gamma(df+1)
- nct.pdf(x, df, nc) = ----------------------------------------------------
- 2**df*exp(nc**2/2) * (df+x**2)**(df/2) * gamma(df/2)
+ df**(df/2) * gamma(df+1)
+ nct.pdf(x, df, nc) = ----------------------------------------------------
+ 2**df*exp(nc**2/2) * (df+x**2)**(df/2) * gamma(df/2)
for ``df > 0``.
%(example)s
"""
+
def _argcheck(self, df, nc):
return (df > 0) & (nc == nc)
@@ -3393,20 +3549,21 @@ class nct_gen(rv_continuous):
sqrt(chi2.rvs(df, size=self._size)))
def _pdf(self, x, df, nc):
- n = df*1.0
- nc = nc*1.0
- x2 = x*x
- ncx2 = nc*nc*x2
+ n = df * 1.0
+ nc = nc * 1.0
+ x2 = x * x
+ ncx2 = nc * nc * x2
fac1 = n + x2
- trm1 = n/2.*log(n) + gamln(n+1)
- trm1 -= n*log(2)+nc*nc/2.+(n/2.)*log(fac1)+gamln(n/2.)
+ trm1 = n / 2. * log(n) + gamln(n + 1)
+ trm1 -= n * log(2) + nc * nc / 2. + (n / 2.) * \
+ log(fac1) + gamln(n / 2.)
Px = exp(trm1)
- valF = ncx2 / (2*fac1)
- trm1 = sqrt(2)*nc*x*special.hyp1f1(n/2+1, 1.5, valF)
- trm1 /= asarray(fac1*special.gamma((n+1)/2))
- trm2 = special.hyp1f1((n+1)/2, 0.5, valF)
- trm2 /= asarray(sqrt(fac1)*special.gamma(n/2+1))
- Px *= trm1+trm2
+ valF = ncx2 / (2 * fac1)
+ trm1 = sqrt(2) * nc * x * special.hyp1f1(n / 2 + 1, 1.5, valF)
+ trm1 /= asarray(fac1 * special.gamma((n + 1) / 2))
+ trm2 = special.hyp1f1((n + 1) / 2, 0.5, valF)
+ trm2 /= asarray(sqrt(fac1) * special.gamma(n / 2 + 1))
+ Px *= trm1 + trm2
return Px
def _cdf(self, x, df, nc):
@@ -3421,12 +3578,14 @@ class nct_gen(rv_continuous):
sa = np.std(data)
def func(df):
- return ((df-2)*(4 * df - 1)-(4 * df - 1)*df/(sa**2+me**2) +
- me**2/(sa**2+me**2) * (df*(4 * df - 1) - 3*df))
+ return ((df - 2) * (4 * df - 1) -
+ (4 * df - 1) * df / (sa ** 2 + me ** 2) +
+ me ** 2 / (sa ** 2 + me ** 2) * (df * (4 * df - 1) -
+ 3 * df))
- df0 = np.maximum(2*sa/(sa-1), 1)
+ df0 = np.maximum(2 * sa / (sa - 1), 1)
df = optimize.fsolve(func, df0)
- mu = me*(1 - 3 / (4 * df - 1))
+ mu = me * (1 - 3 / (4 * df - 1))
return super(nct_gen, self)._fitstart(data, args=(df, mu))
def _stats(self, df, nc, moments='mv'):
@@ -3436,35 +3595,36 @@ class nct_gen(rv_continuous):
# Biometrika 48, p. 465 (2961).
# e.g. http://www.jstor.org/stable/2332772 (gated)
#
- mu, mu2, g1, g2 = None, None, None, None
-
- gfac = gam(df/2.-0.5) / gam(df/2.)
- c11 = sqrt(df/2.) * gfac
- c20 = df / (df-2.)
- c22 = c20 - c11*c11
- mu = np.where(df > 1, nc*c11, np.inf)
- mu2 = np.where(df > 2, c22*nc*nc + c20, np.inf)
+ g1 = g2 = None
+
+ gfac = gam(df / 2. - 0.5) / gam(df / 2.)
+ c11 = sqrt(df / 2.) * gfac
+ c20 = df / (df - 2.)
+ c22 = c20 - c11 * c11
+ mu = np.where(df > 1, nc * c11, np.inf)
+ mu2 = np.where(df > 2, c22 * nc * nc + c20, np.inf)
if 's' in moments:
- c33t = df * (7.-2.*df) / (df-2.) / (df-3.) + 2.*c11*c11
- c31t = 3.*df / (df-2.) / (df-3.)
- mu3 = (c33t*nc*nc + c31t) * c11*nc
+ c33t = df * (7. - 2. * df) / (df - 2.) / (df - 3.) + 2. * c11 * c11
+ c31t = 3. * df / (df - 2.) / (df - 3.)
+ mu3 = (c33t * nc * nc + c31t) * c11 * nc
g1 = np.where(df > 3, mu3 / np.power(mu2, 1.5), np.nan)
- #kurtosis
+ # kurtosis
if 'k' in moments:
- c44 = df*df / (df-2.) / (df-4.)
- c44 -= c11*c11 * 2.*df*(5.-df) / (df-2.) / (df-3.)
- c44 -= 3.*c11**4
- c42 = df / (df-4.) - c11*c11 * (df-1.) / (df-3.)
- c42 *= 6.*df / (df-2.)
- c40 = 3.*df*df / (df-2.) / (df-4.)
-
- mu4 = c44 * nc**4 + c42*nc**2 + c40
- g2 = np.where(df > 4, mu4/mu2**2 - 3., np.nan)
+ c44 = df * df / (df - 2.) / (df - 4.)
+ c44 -= c11 * c11 * 2. * df * (5. - df) / (df - 2.) / (df - 3.)
+ c44 -= 3. * c11 ** 4
+ c42 = df / (df - 4.) - c11 * c11 * (df - 1.) / (df - 3.)
+ c42 *= 6. * df / (df - 2.)
+ c40 = 3. * df * df / (df - 2.) / (df - 4.)
+
+ mu4 = c44 * nc ** 4 + c42 * nc ** 2 + c40
+ g2 = np.where(df > 4, mu4 / mu2 ** 2 - 3., np.nan)
return mu, mu2, g1, g2
nct = nct_gen(name="nct")
class pareto_gen(rv_continuous):
+
"""A Pareto continuous random variable.
%(before_notes)s
@@ -3480,14 +3640,15 @@ class pareto_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, b):
- return b * x**(-b-1)
+ return b * x ** (-b - 1)
def _cdf(self, x, b):
- return 1 - x**(-b)
+ return 1 - x ** (-b)
def _ppf(self, q, b):
- return pow(1-q, -1.0/b)
+ return pow(1 - q, -1.0 / b)
def _stats(self, b, moments='mv'):
mu, mu2, g1, g2 = None, None, None, None
@@ -3495,12 +3656,12 @@ class pareto_gen(rv_continuous):
mask = b > 1
bt = extract(mask, b)
mu = valarray(shape(b), value=inf)
- place(mu, mask, bt / (bt-1.0))
+ place(mu, mask, bt / (bt - 1.0))
if 'v' in moments:
mask = b > 2
bt = extract(mask, b)
mu2 = valarray(shape(b), value=inf)
- place(mu2, mask, bt / (bt-2.0) / (bt-1.0)**2)
+ place(mu2, mask, bt / (bt - 2.0) / (bt - 1.0) ** 2)
if 's' in moments:
mask = b > 3
bt = extract(mask, b)
@@ -3511,17 +3672,18 @@ class pareto_gen(rv_continuous):
mask = b > 4
bt = extract(mask, b)
g2 = valarray(shape(b), value=nan)
- vals = (6.0*polyval([1.0, 1.0, -6, -2], bt) /
+ vals = (6.0 * polyval([1.0, 1.0, -6, -2], bt) /
polyval([1.0, -7.0, 12.0, 0.0], bt))
place(g2, mask, vals)
return mu, mu2, g1, g2
def _entropy(self, c):
- return 1 + 1.0/c - log(c)
+ return 1 + 1.0 / c - log(c)
pareto = pareto_gen(a=1.0, name="pareto")
class lomax_gen(rv_continuous):
+
"""A Lomax (Pareto of the second kind) continuous random variable.
%(before_notes)s
@@ -3540,34 +3702,36 @@ class lomax_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c):
- return c*1.0/(1.0+x)**(c+1.0)
+ return c * 1.0 / (1.0 + x) ** (c + 1.0)
def _logpdf(self, x, c):
return log(c) - (c + 1) * log1p(x)
def _cdf(self, x, c):
- return -expm1(-c*log1p(x))
+ return -expm1(-c * log1p(x))
def _sf(self, x, c):
- return exp(-c*log1p(x))
+ return exp(-c * log1p(x))
def _logsf(self, x, c):
return -c * log1p(x)
def _ppf(self, q, c):
- return expm1(-log1p(-q)/c)
+ return expm1(-log1p(-q) / c)
def _stats(self, c):
mu, mu2, g1, g2 = pareto.stats(c, loc=-1.0, moments='mvsk')
return mu, mu2, g1, g2
def _entropy(self, c):
- return 1+1.0/c-log(c)
+ return 1 + 1.0 / c - log(c)
lomax = lomax_gen(a=0.0, name="lomax")
class pearson3_gen(rv_continuous):
+
"""A pearson type III continuous random variable.
%(before_notes)s
@@ -3600,6 +3764,7 @@ class pearson3_gen(rv_continuous):
Aviation Loads Data", Office of Aviation Research (2003).
"""
+
def _preprocess(self, x, skew):
# The real 'loc' and 'scale' are handled in the calling pdf(...). The
# local variables 'loc' and 'scale' within pearson3._pdf are set to
@@ -3621,7 +3786,7 @@ class pearson3_gen(rv_continuous):
invmask = ~mask
beta = 2.0 / (skew[invmask] * scale)
- alpha = (scale * beta)**2
+ alpha = (scale * beta) ** 2
zeta = loc - alpha / beta
transx = beta * (x[invmask] - zeta)
@@ -3635,11 +3800,12 @@ class pearson3_gen(rv_continuous):
return np.ones(np.shape(skew), dtype=bool)
def _stats(self, skew):
- ans, x, transx, skew, mask, invmask, beta, alpha, zeta = (
- self._preprocess([1], skew))
+ # ans, x, transx, skew, mask, invmask, beta, alpha, zeta = (
+ _1, _2, _3, skew, _4, _5, beta, alpha, zeta = self._preprocess([1],
+ skew)
m = zeta + alpha / beta
- v = alpha / (beta**2)
- s = 2.0 / (alpha**0.5) * np.sign(beta)
+ v = alpha / (beta ** 2)
+ s = 2.0 / (alpha ** 0.5) * np.sign(beta)
k = 6.0 / alpha
return m, v, s, k
@@ -3660,7 +3826,7 @@ class pearson3_gen(rv_continuous):
# + (alpha - 1)*log(beta*(x - zeta)) + (a - 1)*log(x)
# - beta*(x - zeta) - x
# - gamln(alpha) - gamln(a)
- ans, x, transx, skew, mask, invmask, beta, alpha, zeta = (
+ ans, x, transx, skew, mask, invmask, beta, alpha, _zeta = (
self._preprocess(x, skew))
ans[mask] = np.log(_norm_pdf(x[mask]))
@@ -3668,7 +3834,7 @@ class pearson3_gen(rv_continuous):
return ans
def _cdf(self, x, skew):
- ans, x, transx, skew, mask, invmask, beta, alpha, zeta = (
+ ans, x, transx, skew, mask, invmask, _beta, alpha, _zeta = (
self._preprocess(x, skew))
ans[mask] = _norm_cdf(x[mask])
@@ -3676,25 +3842,26 @@ class pearson3_gen(rv_continuous):
return ans
def _rvs(self, skew):
- ans, x, transx, skew, mask, invmask, beta, alpha, zeta = (
+ _ans, _x, _transx, skew, mask, _invmask, beta, alpha, zeta = (
self._preprocess([0], skew))
if mask[0]:
return mtrand.standard_normal(self._size)
- ans = mtrand.standard_gamma(alpha, self._size)/beta + zeta
+ ans = mtrand.standard_gamma(alpha, self._size) / beta + zeta
if ans.size == 1:
return ans[0]
return ans
def _ppf(self, q, skew):
- ans, q, transq, skew, mask, invmask, beta, alpha, zeta = (
+ ans, q, _transq, skew, mask, invmask, beta, alpha, zeta = (
self._preprocess(q, skew))
ans[mask] = _norm_ppf(q[mask])
- ans[invmask] = special.gammaincinv(alpha, q[invmask])/beta + zeta
+ ans[invmask] = special.gammaincinv(alpha, q[invmask]) / beta + zeta
return ans
pearson3 = pearson3_gen(name="pearson3")
class powerlaw_gen(rv_continuous):
+
"""A power-function continuous random variable.
%(before_notes)s
@@ -3712,20 +3879,21 @@ class powerlaw_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, a):
- return a*x**(a-1.0)
+ return a * x ** (a - 1.0)
def _logpdf(self, x, a):
return log(a) + special.xlogy(a - 1, x)
def _cdf(self, x, a):
- return x**(a*1.0)
+ return x ** (a * 1.0)
def _logcdf(self, x, a):
- return a*log(x)
+ return a * log(x)
def _ppf(self, q, a):
- return pow(q, 1.0/a)
+ return pow(q, 1.0 / a)
def _stats(self, a):
return (a / (a + 1.0),
@@ -3734,11 +3902,12 @@ class powerlaw_gen(rv_continuous):
6 * polyval([1, -1, -6, 2], a) / (a * (a + 3.0) * (a + 4)))
def _entropy(self, a):
- return 1 - 1.0/a - log(a)
+ return 1 - 1.0 / a - log(a)
powerlaw = powerlaw_gen(a=0.0, b=1.0, name="powerlaw")
class powerlognorm_gen(rv_continuous):
+
"""A power log-normal continuous random variable.
%(before_notes)s
@@ -3756,12 +3925,13 @@ class powerlognorm_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c, s):
- return (c/(x*s) * _norm_pdf(log(x)/s) *
- pow(_norm_cdf(-log(x)/s), c*1.0-1.0))
+ return (c / (x * s) * _norm_pdf(log(x) / s) *
+ pow(_norm_cdf(-log(x) / s), c * 1.0 - 1.0))
def _cdf(self, x, c, s):
- return 1.0 - pow(_norm_cdf(-log(x)/s), c*1.0)
+ return 1.0 - pow(_norm_cdf(-log(x) / s), c * 1.0)
def _ppf(self, q, c, s):
return exp(-s * _norm_ppf(pow(1.0 - q, 1.0 / c)))
@@ -3769,6 +3939,7 @@ powerlognorm = powerlognorm_gen(a=0.0, name="powerlognorm")
class powernorm_gen(rv_continuous):
+
"""A power normal continuous random variable.
%(before_notes)s
@@ -3785,14 +3956,15 @@ class powernorm_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c):
- return (c*_norm_pdf(x) * (_norm_cdf(-x)**(c-1.0)))
+ return (c * _norm_pdf(x) * (_norm_cdf(-x) ** (c - 1.0)))
def _logpdf(self, x, c):
- return log(c) + _norm_logpdf(x) + (c-1)*_norm_logcdf(-x)
+ return log(c) + _norm_logpdf(x) + (c - 1) * _norm_logcdf(-x)
def _cdf(self, x, c):
- return 1.0-_norm_cdf(-x)**(c*1.0)
+ return 1.0 - _norm_cdf(-x) ** (c * 1.0)
def _ppf(self, q, c):
return -_norm_ppf(pow(1.0 - q, 1.0 / c))
@@ -3800,6 +3972,7 @@ powernorm = powernorm_gen(name='powernorm')
class rdist_gen(rv_continuous):
+
"""An R-distributed continuous random variable.
%(before_notes)s
@@ -3815,12 +3988,14 @@ class rdist_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x, c):
- return np.power((1.0 - x**2), c / 2.0 - 1) / special.beta(0.5, c / 2.0)
+ return np.power((1.0 - x ** 2), c / 2.0 - 1) / \
+ special.beta(0.5, c / 2.0)
def _cdf(self, x, c):
term1 = x / special.beta(0.5, c / 2.0)
- res = 0.5 + term1 * special.hyp2f1(0.5, 1 - c / 2.0, 1.5, x**2)
+ res = 0.5 + term1 * special.hyp2f1(0.5, 1 - c / 2.0, 1.5, x ** 2)
# There's an issue with hyp2f1, it returns nans near x = +-1, c > 100.
# Use the generic implementation in that case. See gh-1285 for
# background.
@@ -3835,6 +4010,7 @@ rdist = rdist_gen(a=-1.0, b=1.0, name="rdist")
class rayleigh_gen(rv_continuous):
+
"""A Rayleigh continuous random variable.
%(before_notes)s
@@ -3885,11 +4061,11 @@ class rayleigh_gen(rv_continuous):
def _stats(self):
val = 4 - pi
- return (np.sqrt(pi/2), val/2, 2*(pi-3)*sqrt(pi)/val**1.5,
- 6*pi/val-16/val**2)
+ return (np.sqrt(pi / 2), val / 2, 2 * (pi - 3) * sqrt(pi) / val ** 1.5,
+ 6 * pi / val - 16 / val ** 2)
def _entropy(self):
- return _EULER/2.0 + 1 - 0.5*log(2)
+ return _EULER / 2.0 + 1 - 0.5 * log(2)
rayleigh = rayleigh_gen(a=0.0, name="rayleigh")
@@ -3970,6 +4146,7 @@ truncrayleigh = truncrayleigh_gen(a=0.0, name="truncrayleigh", shapes='c')
class reciprocal_gen(rv_continuous):
+
"""A reciprocal continuous random variable.
%(before_notes)s
@@ -3985,10 +4162,11 @@ class reciprocal_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, a, b):
self.a = a
self.b = b
- self.d = log(b*1.0 / a)
+ self.d = log(b * 1.0 / a)
return (a > 0) & (b > 0) & (b > a)
def _pdf(self, x, a, b):
@@ -3998,32 +4176,33 @@ class reciprocal_gen(rv_continuous):
return -log(x) - log(self.d)
def _cdf(self, x, a, b):
- return (log(x)-log(a)) / self.d
+ return (log(x) - log(a)) / self.d
def _ppf(self, q, a, b):
- return a*pow(b*1.0/a, q)
+ return a * pow(b * 1.0 / a, q)
def _munp(self, n, a, b):
- return 1.0/self.d / n * (pow(b*1.0, n) - pow(a*1.0, n))
+ return 1.0 / self.d / n * (pow(b * 1.0, n) - pow(a * 1.0, n))
def _fitstart(self, data):
a = np.min(data)
- a -= 0.01*np.abs(a)
+ a -= 0.01 * np.abs(a)
b = np.max(data)
- b += 0.01*np.abs(b)
+ b += 0.01 * np.abs(b)
if a <= 0:
- da = np.abs(a)+0.001
+ da = np.abs(a) + 0.001
a += da
b += da
return super(reciprocal_gen, self)._fitstart(data, args=(a, b))
def _entropy(self, a, b):
- return 0.5*log(a*b)+log(log(b/a))
+ return 0.5 * log(a * b) + log(log(b / a))
reciprocal = reciprocal_gen(name="reciprocal")
# FIXME: PPF does not work.
class rice_gen(rv_continuous):
+
"""A Rice continuous random variable.
%(before_notes)s
@@ -4039,29 +4218,31 @@ class rice_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, b):
return b >= 0
def _rvs(self, b):
# http://en.wikipedia.org/wiki/Rice_distribution
sz = self._size if self._size else 1
- t = b/np.sqrt(2) + mtrand.standard_normal(size=(2, sz))
- return np.sqrt((t*t).sum(axis=0))
+ t = b / np.sqrt(2) + mtrand.standard_normal(size=(2, sz))
+ return np.sqrt((t * t).sum(axis=0))
def _pdf(self, x, b):
- return x * exp(-(x-b)*(x-b)/2.0) * special.i0e(x*b)
+ return x * exp(-(x - b) * (x - b) / 2.0) * special.i0e(x * b)
def _munp(self, n, b):
- nd2 = n/2.0
+ nd2 = n / 2.0
n1 = 1 + nd2
- b2 = b*b/2.0
- return (2.0**(nd2) * exp(-b2) * special.gamma(n1) *
+ b2 = b * b / 2.0
+ return (2.0 ** (nd2) * exp(-b2) * special.gamma(n1) *
special.hyp1f1(n1, 1, b2))
rice = rice_gen(a=0.0, name="rice")
# FIXME: PPF does not work.
class recipinvgauss_gen(rv_continuous):
+
"""A reciprocal inverse Gaussian continuous random variable.
%(before_notes)s
@@ -4077,24 +4258,29 @@ class recipinvgauss_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, mu):
- return 1.0/mtrand.wald(mu, 1.0, size=self._size)
+ return 1.0 / mtrand.wald(mu, 1.0, size=self._size)
def _pdf(self, x, mu):
- return 1.0/sqrt(2*pi*x)*exp(-(1-mu*x)**2.0 / (2*x*mu**2.0))
+ return 1.0 / sqrt(2 * pi * x) * \
+ exp(-(1 - mu * x) ** 2.0 / (2 * x * mu ** 2.0))
def _logpdf(self, x, mu):
- return -(1-mu*x)**2.0 / (2*x*mu**2.0) - 0.5*log(2*pi*x)
+ return -(1 - mu * x) ** 2.0 / \
+ (2 * x * mu ** 2.0) - 0.5 * log(2 * pi * x)
def _cdf(self, x, mu):
- trm1 = 1.0/mu - x
- trm2 = 1.0/mu + x
- isqx = 1.0/sqrt(x)
- return 1.0-_norm_cdf(isqx*trm1)-exp(2.0/mu)*_norm_cdf(-isqx*trm2)
+ trm1 = 1.0 / mu - x
+ trm2 = 1.0 / mu + x
+ isqx = 1.0 / sqrt(x)
+ return 1.0 - _norm_cdf(isqx * trm1) - \
+ exp(2.0 / mu) * _norm_cdf(-isqx * trm2)
recipinvgauss = recipinvgauss_gen(a=0.0, name='recipinvgauss')
class semicircular_gen(rv_continuous):
+
"""A semicircular continuous random variable.
%(before_notes)s
@@ -4110,11 +4296,12 @@ class semicircular_gen(rv_continuous):
%(example)s
"""
+
def _pdf(self, x):
- return 2.0/pi*sqrt(1-x*x)
+ return 2.0 / pi * sqrt(1 - x * x)
def _cdf(self, x):
- return 0.5+1.0/pi*(x*sqrt(1-x*x) + arcsin(x))
+ return 0.5 + 1.0 / pi * (x * sqrt(1 - x * x) + arcsin(x))
def _stats(self):
return 0, 0.25, 0, -1.0
@@ -4125,6 +4312,7 @@ semicircular = semicircular_gen(a=-1.0, b=1.0, name="semicircular")
class triang_gen(rv_continuous):
+
"""A triangular continuous random variable.
%(before_notes)s
@@ -4142,6 +4330,7 @@ class triang_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, c):
return mtrand.triangular(0, c, 1, self._size)
@@ -4149,24 +4338,25 @@ class triang_gen(rv_continuous):
return (c >= 0) & (c <= 1)
def _pdf(self, x, c):
- return where(x < c, 2*x/c, 2*(1-x)/(1-c))
+ return where(x < c, 2 * x / c, 2 * (1 - x) / (1 - c))
def _cdf(self, x, c):
- return where(x < c, x*x/c, (x*x-2*x+c)/(c-1))
+ return where(x < c, x * x / c, (x * x - 2 * x + c) / (c - 1))
def _ppf(self, q, c):
- return where(q < c, sqrt(c*q), 1-sqrt((1-c)*(1-q)))
+ return where(q < c, sqrt(c * q), 1 - sqrt((1 - c) * (1 - q)))
def _stats(self, c):
- return (c+1.0)/3.0, (1.0-c+c*c)/18, sqrt(2)*(2*c-1)*(c+1)*(c-2) / \
- (5 * np.power((1.0-c+c*c), 1.5)), -3.0/5.0
+ return (c + 1.0) / 3.0, (1.0 - c + c * c) / 18, sqrt(2) * (2 * c - 1) * (c + 1) * (c - 2) / \
+ (5 * np.power((1.0 - c + c * c), 1.5)), -3.0 / 5.0
def _entropy(self, c):
- return 0.5-log(2)
+ return 0.5 - log(2)
triang = triang_gen(a=0.0, b=1.0, name="triang")
class truncexpon_gen(rv_continuous):
+
"""A truncated exponential continuous random variable.
%(before_notes)s
@@ -4182,6 +4372,7 @@ class truncexpon_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, b):
self.b = b
return (b > 0)
@@ -4212,11 +4403,12 @@ class truncexpon_gen(rv_continuous):
def _entropy(self, b):
eB = exp(b)
- return log(eB-1)+(1+eB*(b-1.0))/(1.0-eB)
+ return log(eB - 1) + (1 + eB * (b - 1.0)) / (1.0 - eB)
truncexpon = truncexpon_gen(a=0.0, name='truncexpon')
class truncnorm_gen(rv_continuous):
+
"""A truncated normal continuous random variable.
%(before_notes)s
@@ -4233,6 +4425,7 @@ class truncnorm_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, a, b):
self.a = a
self.b = b
@@ -4258,22 +4451,23 @@ class truncnorm_gen(rv_continuous):
def _ppf(self, q, a, b):
if self.a > 0:
- return _norm_isf(q*self._sb + self._sa*(1.0-q))
+ return _norm_isf(q * self._sb + self._sa * (1.0 - q))
else:
- return _norm_ppf(q*self._nb + self._na*(1.0-q))
+ return _norm_ppf(q * self._nb + self._na * (1.0 - q))
def _stats(self, a, b):
nA, nB = self._na, self._nb
d = nB - nA
pA, pB = _norm_pdf(a), _norm_pdf(b)
mu = (pA - pB) / d # correction sign
- mu2 = 1 + (a*pA - b*pB) / d - mu*mu
+ mu2 = 1 + (a * pA - b * pB) / d - mu * mu
return mu, mu2, None, None
truncnorm = truncnorm_gen(name='truncnorm')
# FIXME: RVS does not work.
class tukeylambda_gen(rv_continuous):
+
"""A Tukey-Lamdba continuous random variable.
%(before_notes)s
@@ -4292,22 +4486,23 @@ class tukeylambda_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, lam):
return np.ones(np.shape(lam), dtype=bool)
def _pdf(self, x, lam):
Fx = asarray(special.tklmbda(x, lam))
- Px = Fx**(lam-1.0) + (asarray(1-Fx))**(lam-1.0)
- Px = 1.0/asarray(Px)
- return where((lam <= 0) | (abs(x) < 1.0/asarray(lam)), Px, 0.0)
+ Px = Fx ** (lam - 1.0) + (asarray(1 - Fx)) ** (lam - 1.0)
+ Px = 1.0 / asarray(Px)
+ return where((lam <= 0) | (abs(x) < 1.0 / asarray(lam)), Px, 0.0)
def _cdf(self, x, lam):
return special.tklmbda(x, lam)
def _ppf(self, q, lam):
- q = q*1.0
- vals1 = (q**lam - (1-q)**lam)/lam
- vals2 = log(q/(1-q))
+ q = q * 1.0
+ vals1 = (q ** lam - (1 - q) ** lam) / lam
+ vals2 = log(q / (1 - q))
return where((lam == 0) & (q == q), vals2, vals1)
def _stats(self, lam):
@@ -4315,12 +4510,13 @@ class tukeylambda_gen(rv_continuous):
def _entropy(self, lam):
def integ(p):
- return log(pow(p, lam-1)+pow(1-p, lam-1))
+ return log(pow(p, lam - 1) + pow(1 - p, lam - 1))
return integrate.quad(integ, 0, 1)[0]
tukeylambda = tukeylambda_gen(name='tukeylambda')
class uniform_gen(rv_continuous):
+
"""A uniform continuous random variable.
This distribution is constant between `loc` and ``loc + scale``.
@@ -4330,11 +4526,12 @@ class uniform_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self):
return mtrand.uniform(0.0, 1.0, self._size)
def _pdf(self, x):
- return 1.0*(x == x)
+ return 1.0 * (x == x)
def _cdf(self, x):
return x
@@ -4343,7 +4540,7 @@ class uniform_gen(rv_continuous):
return q
def _stats(self):
- return 0.5, 1.0/12, 0, -1.2
+ return 0.5, 1.0 / 12, 0, -1.2
def _entropy(self):
return 0.0
@@ -4351,6 +4548,7 @@ uniform = uniform_gen(a=0.0, b=1.0, name='uniform')
class vonmises_gen(rv_continuous):
+
"""A Von Mises continuous random variable.
%(before_notes)s
@@ -4374,11 +4572,12 @@ class vonmises_gen(rv_continuous):
%(example)s
"""
+
def _rvs(self, kappa):
return mtrand.vonmises(0.0, kappa, size=self._size)
def _pdf(self, x, kappa):
- return exp(kappa * cos(x)) / (2*pi*special.i0(kappa))
+ return exp(kappa * cos(x)) / (2 * pi * special.i0(kappa))
def _cdf(self, x, kappa):
return vonmises_cython.von_mises_cdf(kappa, x)
@@ -4390,6 +4589,7 @@ vonmises_line = vonmises_gen(a=-np.pi, b=np.pi, name='vonmises_line')
class wald_gen(invgauss_gen):
+
"""A Wald continuous random variable.
%(before_notes)s
@@ -4406,6 +4606,7 @@ class wald_gen(invgauss_gen):
%(example)s
"""
+
def _rvs(self):
return mtrand.wald(1.0, 1.0, size=self._size)
@@ -4424,6 +4625,7 @@ wald = wald_gen(a=0.0, name="wald")
class wrapcauchy_gen(rv_continuous):
+
"""A wrapped Cauchy continuous random variable.
%(before_notes)s
@@ -4439,41 +4641,42 @@ class wrapcauchy_gen(rv_continuous):
%(example)s
"""
+
def _argcheck(self, c):
return (c > 0) & (c < 1)
def _pdf(self, x, c):
- return (1.0-c*c)/(2*pi*(1+c*c-2*c*cos(x)))
+ return (1.0 - c * c) / (2 * pi * (1 + c * c - 2 * c * cos(x)))
def _cdf(self, x, c):
- output = 0.0*x
- val = (1.0+c)/(1.0-c)
+ output = 0.0 * x
+ val = (1.0 + c) / (1.0 - c)
c1 = x < pi
- c2 = 1-c1
+ c2 = 1 - c1
xp = extract(c1, x)
xn = extract(c2, x)
if (any(xn)):
- valn = extract(c2, np.ones_like(x)*val)
- xn = 2*pi - xn
- yn = tan(xn/2.0)
- on = 1.0-1.0/pi*arctan(valn*yn)
+ valn = extract(c2, np.ones_like(x) * val)
+ xn = 2 * pi - xn
+ yn = tan(xn / 2.0)
+ on = 1.0 - 1.0 / pi * arctan(valn * yn)
place(output, c2, on)
if (any(xp)):
- valp = extract(c1, np.ones_like(x)*val)
- yp = tan(xp/2.0)
- op = 1.0/pi*arctan(valp*yp)
+ valp = extract(c1, np.ones_like(x) * val)
+ yp = tan(xp / 2.0)
+ op = 1.0 / pi * arctan(valp * yp)
place(output, c1, op)
return output
def _ppf(self, q, c):
- val = (1.0-c)/(1.0+c)
- rcq = 2*arctan(val*tan(pi*q))
- rcmq = 2*pi-2*arctan(val*tan(pi*(1-q)))
- return where(q < 1.0/2, rcq, rcmq)
+ val = (1.0 - c) / (1.0 + c)
+ rcq = 2 * arctan(val * tan(pi * q))
+ rcmq = 2 * pi - 2 * arctan(val * tan(pi * (1 - q)))
+ return where(q < 1.0 / 2, rcq, rcmq)
def _entropy(self, c):
- return log(2*pi*(1-c*c))
-wrapcauchy = wrapcauchy_gen(a=0.0, b=2*pi, name='wrapcauchy')
+ return log(2 * pi * (1 - c * c))
+wrapcauchy = wrapcauchy_gen(a=0.0, b=2 * pi, name='wrapcauchy')
# Collect names of classes and objects in this module.
diff --git a/pywafo/src/wafo/stats/_discrete_distns.py b/pywafo/src/wafo/stats/_discrete_distns.py
index 68dff20..c442032 100644
--- a/pywafo/src/wafo/stats/_discrete_distns.py
+++ b/pywafo/src/wafo/stats/_discrete_distns.py
@@ -12,8 +12,8 @@ from numpy import floor, ceil, log, exp, sqrt, log1p, expm1, tanh, cosh, sinh
import numpy as np
import numpy.random as mtrand
-from ._distn_infrastructure import (
- rv_discrete, _lazywhere, _ncx2_pdf, _ncx2_cdf, get_distribution_names)
+from ._distn_infrastructure import (rv_discrete, _lazywhere, _ncx2_pdf,
+ _ncx2_cdf, get_distribution_names)
class binom_gen(rv_discrete):
@@ -559,7 +559,7 @@ class boltzmann_gen(rv_discrete):
g2 = g2 / trm2 / trm2
return mu, var, g1, g2
boltzmann = boltzmann_gen(name='boltzmann',
- longname='A truncated discrete exponential ')
+ longname='A truncated discrete exponential ')
class randint_gen(rv_discrete):
@@ -624,8 +624,9 @@ randint = randint_gen(name='randint', longname='A discrete uniform '
'(random integer)')
-def harmonic(n,r):
- return 1./n + special.polygamma(r-1, n)/special.gamma(r) + special.zeta(r, 1)
+def harmonic(n, r):
+ return (1./n + special.polygamma(r-1, n)/special.gamma(r) +
+ special.zeta(r, 1))
def H(n):
@@ -704,8 +705,9 @@ class dlaplace_gen(rv_discrete):
def _ppf(self, q, a):
const = 1 + exp(a)
- vals = ceil(np.where(q < 1.0 / (1 + exp(-a)), log(q*const) / a - 1,
- -log((1-q) * const) / a))
+ vals = ceil(np.where(q < 1.0 / (1 + exp(-a)),
+ log(q*const) / a - 1,
+ -log((1-q) * const) / a))
vals1 = vals - 1
return np.where(self._cdf(vals1, a) >= q, vals1, vals)
@@ -753,16 +755,16 @@ class skellam_gen(rv_discrete):
def _pmf(self, x, mu1, mu2):
px = np.where(x < 0,
- _ncx2_pdf(2*mu2, 2*(1-x), 2*mu1)*2,
- _ncx2_pdf(2*mu1, 2*(1+x), 2*mu2)*2)
+ _ncx2_pdf(2*mu2, 2*(1-x), 2*mu1)*2,
+ _ncx2_pdf(2*mu1, 2*(1+x), 2*mu2)*2)
# ncx2.pdf() returns nan's for extremely low probabilities
return px
def _cdf(self, x, mu1, mu2):
x = floor(x)
px = np.where(x < 0,
- _ncx2_cdf(2*mu2, -2*x, 2*mu1),
- 1-_ncx2_cdf(2*mu1, 2*(x+1), 2*mu2))
+ _ncx2_cdf(2*mu2, -2*x, 2*mu1),
+ 1-_ncx2_cdf(2*mu1, 2*(x+1), 2*mu2))
return px
def _stats(self, mu1, mu2):
diff --git a/pywafo/src/wafo/test/test_integrate.py b/pywafo/src/wafo/test/test_integrate.py
index cb2c5e0..ea58991 100644
--- a/pywafo/src/wafo/test/test_integrate.py
+++ b/pywafo/src/wafo/test/test_integrate.py
@@ -12,15 +12,15 @@ from wafo.integrate import gaussq
class Gaussq(unittest.TestCase):
'''
- 1 : p(x) = 1 a =-1, b = 1 Gauss-Legendre
- 2 : p(x) = exp(-x^2) a =-inf, b = inf Hermite
- 3 : p(x) = x^alpha*exp(-x) a = 0, b = inf Laguerre
- 4 : p(x) = (x-a)^alpha*(b-x)^beta a =-1, b = 1 Jacobi
- 5 : p(x) = 1/sqrt((x-a)*(b-x)), a =-1, b = 1 Chebyshev 1'st kind
- 6 : p(x) = sqrt((x-a)*(b-x)), a =-1, b = 1 Chebyshev 2'nd kind
- 7 : p(x) = sqrt((x-a)/(b-x)), a = 0, b = 1
- 8 : p(x) = 1/sqrt(b-x), a = 0, b = 1
- 9 : p(x) = sqrt(b-x), a = 0, b = 1
+ 1 : p(x) = 1 a =-1, b = 1 Gauss-Legendre
+ 2 : p(x) = exp(-x^2) a =-inf, b = inf Hermite
+ 3 : p(x) = x^alpha*exp(-x) a = 0, b = inf Laguerre
+ 4 : p(x) = (x-a)^alpha*(b-x)^beta a =-1, b = 1 Jacobi
+ 5 : p(x) = 1/sqrt((x-a)*(b-x)), a =-1, b = 1 Chebyshev 1'st kind
+ 6 : p(x) = sqrt((x-a)*(b-x)), a =-1, b = 1 Chebyshev 2'nd kind
+ 7 : p(x) = sqrt((x-a)/(b-x)), a = 0, b = 1
+ 8 : p(x) = 1/sqrt(b-x), a = 0, b = 1
+ 9 : p(x) = sqrt(b-x), a = 0, b = 1
'''
def test_gauss_legendre(self):
@@ -68,5 +68,5 @@ class Gaussq(unittest.TestCase):
self.assertAlmostEqual(val, 0.26666667)
if __name__ == "__main__":
- #import sys;sys.argv = ['', 'Test.testName']
- unittest.main()
\ No newline at end of file
+ # import sys;sys.argv = ['', 'Test.testName']
+ unittest.main()
diff --git a/pywafo/src/wafo/test/test_kdetools.py b/pywafo/src/wafo/test/test_kdetools.py
index 11b829e..2e4f793 100644
--- a/pywafo/src/wafo/test/test_kdetools.py
+++ b/pywafo/src/wafo/test/test_kdetools.py
@@ -1,386 +1,408 @@
-'''
-Created on 20. nov. 2010
-
-@author: pab
-'''
-
-import numpy as np #@UnusedImport
-from numpy import array #@UnusedImport
-import wafo.kdetools as wk #@UnusedImport
-#import pylab as plb
-
-def test0_KDE1D():
- '''
- >>> data = array([ 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
- ... 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
- ... 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
- ... 1.8919469 , 0.72433808, 1.92973094, 0.44749838, 1.36508452])
-
- >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
- >>> import wafo.kdetools as wk
- >>> kde = wk.KDE(data, hs=0.5, alpha=0.5)
-
- >>> kde0 = wk.KDE(data, hs=0.5, alpha=0.0, inc=16)
-
- >>> kde0.eval_grid(x)
- array([ 0.2039735 , 0.40252503, 0.54595078, 0.52219649, 0.3906213 ,
- 0.26381501, 0.16407362, 0.08270612, 0.02991145, 0.00720821])
- >>> kde0.eval_grid_fast(x)
- array([ 0.20729484, 0.39865044, 0.53716945, 0.5169322 , 0.39060223,
- 0.26441126, 0.16388801, 0.08388527, 0.03227164, 0.00883579])
-
- >>> f = kde0.eval_grid_fast(); f
- array([ 0.01149411, 0.03485467, 0.08799292, 0.18568718, 0.32473136,
- 0.46543163, 0.54532016, 0.53005828, 0.44447651, 0.34119612,
- 0.25103852, 0.1754952 , 0.11072989, 0.05992731, 0.02687784,
- 0.00974983])
- >>> np.trapz(f,kde0.args)
- array([ 0.99500101])
- '''
-def test1_TKDE1D():
- '''
- N = 20
- data = np.random.rayleigh(1, size=(N,))
- >>> data = array([ 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
- ... 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
- ... 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
- ... 1.8919469 , 0.72433808, 1.92973094, 0.44749838, 1.36508452])
-
- >>> x = np.linspace(0.01, max(data.ravel()) + 1, 10)
- >>> kde = wk.TKDE(data, hs=0.5, L2=0.5)
- >>> f = kde(x)
- >>> f
- array([ 1.03982714, 0.45839018, 0.39514782, 0.32860602, 0.26433318,
- 0.20717946, 0.15907684, 0.1201074 , 0.08941027, 0.06574882])
-
- >>> np.trapz(f, x)
- 0.94787730659349068
-
- h1 = plb.plot(x, f) # 1D probability density plot
- '''
-def test1_KDE1D():
- '''
- N = 20
- data = np.random.rayleigh(1, size=(N,))
- >>> data = array([ 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
- ... 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
- ... 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
- ... 1.8919469 , 0.72433808, 1.92973094, 0.44749838, 1.36508452])
-
- >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
- >>> kde = wk.KDE(data, hs=0.5)
- >>> f = kde(x)
- >>> f
- array([ 0.2039735 , 0.40252503, 0.54595078, 0.52219649, 0.3906213 ,
- 0.26381501, 0.16407362, 0.08270612, 0.02991145, 0.00720821])
-
- >>> np.trapz(f, x)
- 0.92576174424281876
-
- h1 = plb.plot(x, f) # 1D probability density plot
- '''
-def test2_KDE1D():
- '''
- N = 20
- data = np.random.rayleigh(1, size=(N,))
- >>> data = array([ 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
- ... 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
- ... 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
- ... 1.8919469 , 0.72433808, 1.92973094, 0.44749838, 1.36508452])
-
- >>> data = np.asarray([1,2])
- >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
- >>> kde = wk.KDE(data, hs=0.5)
- >>> f = kde(x)
- >>> f
- array([ 0.0541248 , 0.16555235, 0.33084399, 0.45293325, 0.48345808,
- 0.48345808, 0.45293325, 0.33084399, 0.16555235, 0.0541248 ])
-
- >>> np.trapz(f, x)
- 0.97323338046725172
-
- h1 = plb.plot(x, f) # 1D probability density plot
-
- '''
-
-def test1a_KDE1D():
- '''
- N = 20
- data = np.random.rayleigh(1, size=(N,))
- >>> data = array([ 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
- ... 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
- ... 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
- ... 1.8919469 , 0.72433808, 1.92973094, 0.44749838, 1.36508452])
-
- >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
- >>> kde = wk.KDE(data, hs=0.5, alpha=0.5)
- >>> f = kde(x)
- >>> f
- array([ 0.17252055, 0.41014271, 0.61349072, 0.57023834, 0.37198073,
- 0.21409279, 0.12738463, 0.07460326, 0.03956191, 0.01887164])
-
- >>> np.trapz(f, x)
- 0.92938023659047952
-
- h1 = plb.plot(x, f) # 1D probability density plot
-
- '''
-def test2a_KDE1D():
- '''
- N = 20
- data = np.random.rayleigh(1, size=(N,))
- >>> data = array([ 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
- ... 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
- ... 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
- ... 1.8919469 , 0.72433808, 1.92973094, 0.44749838, 1.36508452])
-
- >>> data = np.asarray([1,2])
- >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
- >>> kde = wk.KDE(data, hs=0.5, alpha=0.5)
- >>> f = kde(x)
- >>> f
- array([ 0.0541248 , 0.16555235, 0.33084399, 0.45293325, 0.48345808,
- 0.48345808, 0.45293325, 0.33084399, 0.16555235, 0.0541248 ])
-
- >>> np.trapz(f, x)
- 0.97323338046725172
-
- h1 = plb.plot(x, f) # 1D probability density plot
- '''
-
-def test_KDE2D():
- '''
- N = 20
- data = np.random.rayleigh(1, size=(2, N))
- >>> data = array([[ 0.38103275, 0.35083136, 0.90024207, 1.88230239, 0.96815399,
- ... 0.57392873, 1.63367908, 1.20944125, 2.03887811, 0.81789145,
- ... 0.69302049, 1.40856592, 0.92156032, 2.14791432, 2.04373821,
- ... 0.69800708, 0.58428735, 1.59128776, 2.05771405, 0.87021964],
- ... [ 1.44080694, 0.39973751, 1.331243 , 2.48895822, 1.18894158,
- ... 1.40526085, 1.01967897, 0.81196474, 1.37978932, 2.03334689,
- ... 0.870329 , 1.25106862, 0.5346619 , 0.47541236, 1.51930093,
- ... 0.58861519, 1.19780448, 0.81548296, 1.56859488, 1.60653533]])
-
- >>> x = np.linspace(0, max(data.ravel()) + 1, 3)
-
- >>> kde = wk.KDE(data, hs=0.5, alpha=0.5)
-
- >>> kde0 = wk.KDE(data, hs=0.5, alpha=0.0, inc=16)
-
- >>> kde0.eval_grid(x, x)
- array([[ 3.27260963e-02, 4.21654678e-02, 5.85338634e-04],
- [ 6.78845466e-02, 1.42195839e-01, 1.41676003e-03],
- [ 1.39466746e-04, 4.26983850e-03, 2.52736185e-05]])
- >>> kde0.eval_grid_fast(x, x)
- array([[ 0.04435061, 0.06433531, 0.00413538],
- [ 0.07218297, 0.12358196, 0.00928889],
- [ 0.00161333, 0.00794858, 0.00058748]])
-
- '''
-
-def test_smooth_params():
- '''
- >>> data = np.array([[ 0.932896 , 0.89522635, 0.80636346, 1.32283371, 0.27125435,
- ... 1.91666304, 2.30736635, 1.13662384, 1.73071287, 1.06061127,
- ... 0.99598512, 2.16396591, 1.23458213, 1.12406686, 1.16930431,
- ... 0.73700592, 1.21135139, 0.46671506, 1.3530304 , 0.91419104],
- ... [ 0.62759088, 0.23988169, 2.04909823, 0.93766571, 1.19343762,
- ... 1.94954931, 0.84687514, 0.49284897, 1.05066204, 1.89088505,
- ... 0.840738 , 1.02901457, 1.0758625 , 1.76357967, 0.45792897,
- ... 1.54488066, 0.17644313, 1.6798871 , 0.72583514, 2.22087245],
- ... [ 1.69496432, 0.81791905, 0.82534709, 0.71642389, 0.89294732,
- ... 1.66888649, 0.69036947, 0.99961448, 0.30657267, 0.98798713,
- ... 0.83298728, 1.83334948, 1.90144186, 1.25781913, 0.07122458,
- ... 2.42340852, 2.41342037, 0.87233305, 1.17537114, 1.69505988]])
-
- >>> gauss = wk.Kernel('gaussian')
- >>> gauss.hns(data)
- array([ 0.18154437, 0.36207987, 0.37396219])
- >>> gauss.hos(data)
- array([ 0.195209 , 0.3893332 , 0.40210988])
- >>> gauss.hmns(data)
- array([[ 3.25196193e-01, -2.68892467e-02, 3.18932448e-04],
- [ -2.68892467e-02, 3.91283306e-01, 2.38654678e-02],
- [ 3.18932448e-04, 2.38654678e-02, 4.05123874e-01]])
- >>> gauss.hscv(data)
- array([ 0.16858959, 0.32739383, 0.3046287 ])
-
- >>> gauss.hstt(data)
- array([ 0.18099075, 0.50409881, 0.11018912])
-
- >>> gauss.hste(data)
- array([ 0.16750009, 0.29059113, 0.17994255])
-
- >>> gauss.hldpi(data)
- array([ 0.1732289 , 0.33159097, 0.3107633 ])
-
-
- >>> gauss.hisj(data)
- array([ 0.24222479, 0.74277133, 0.15492661])
-
- >>> data = np.array([0.753557920000000, 0.727791940000000, 0.941491690000000,
- ... 0.078411190000000, 2.322918870000000, 1.104199950000000, 0.770551140000000,
- ... 0.602882730000000, 1.368836350000000, 1.747543260000000, 1.095475610000000,
- ... 1.016711330000000, 0.732111430000000, 0.618917190000000, 0.759034870000000,
- ... 1.891946900000000, 0.724338080000000, 1.929730940000000, 0.447498380000000, 1.365084520000000])
-
-
-
- '''
-def test_gridcount_1D():
- '''
- N = 20
- data = np.random.rayleigh(1, size=(N,))
- >>> data = array([ 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
- ... 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
- ... 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
- ... 1.8919469 , 0.72433808, 1.92973094, 0.44749838, 1.36508452])
-
- >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
- >>> dx = x[1] - x[0]
- >>> c = wk.gridcount(data, x)
- >>> c
- array([ 0.78762626, 1.77520717, 7.99190087, 4.04054449, 1.67156643,
- 2.38228499, 1.05933195, 0.29153785, 0. , 0. ])
-
- h = plb.plot(x, c, '.') # 1D histogram
-
- h1 = plb.plot(x, c / dx / N) # 1D probability density plot
- t = np.trapz(c / dx / N, x)
- print(t)
- '''
-
-def test_gridcount_2D():
- '''
- N = 20
- data = np.random.rayleigh(1, size=(2, N))
- >>> data = array([[ 0.38103275, 0.35083136, 0.90024207, 1.88230239, 0.96815399,
- ... 0.57392873, 1.63367908, 1.20944125, 2.03887811, 0.81789145,
- ... 0.69302049, 1.40856592, 0.92156032, 2.14791432, 2.04373821,
- ... 0.69800708, 0.58428735, 1.59128776, 2.05771405, 0.87021964],
- ... [ 1.44080694, 0.39973751, 1.331243 , 2.48895822, 1.18894158,
- ... 1.40526085, 1.01967897, 0.81196474, 1.37978932, 2.03334689,
- ... 0.870329 , 1.25106862, 0.5346619 , 0.47541236, 1.51930093,
- ... 0.58861519, 1.19780448, 0.81548296, 1.56859488, 1.60653533]])
-
- >>> x = np.linspace(0, max(data.ravel()) + 1, 5)
- >>> dx = x[1] - x[0]
- >>> X = np.vstack((x, x))
- >>> c = wk.gridcount(data, X)
- >>> c
- array([[ 0.38922806, 0.8987982 , 0.34676493, 0.21042807, 0. ],
- [ 1.15012203, 5.16513541, 3.19250588, 0.55420752, 0. ],
- [ 0.74293418, 3.42517219, 1.97923195, 0.76076621, 0. ],
- [ 0.02063536, 0.31054405, 0.71865964, 0.13486633, 0. ],
- [ 0. , 0. , 0. , 0. , 0. ]])
-
- h = plb.plot(x, c, '.') # 1D histogram
-
- h1 = plb.plot(x, c / dx / N) # 1D probability density plot
- t = np.trapz(c / dx / N, x)
- print(t)
- '''
-def test_gridcount_3D():
- '''
- N = 20
- data = np.random.rayleigh(1, size=(3, N))
- >>> data = np.array([[ 0.932896 , 0.89522635, 0.80636346, 1.32283371, 0.27125435,
- ... 1.91666304, 2.30736635, 1.13662384, 1.73071287, 1.06061127,
- ... 0.99598512, 2.16396591, 1.23458213, 1.12406686, 1.16930431,
- ... 0.73700592, 1.21135139, 0.46671506, 1.3530304 , 0.91419104],
- ... [ 0.62759088, 0.23988169, 2.04909823, 0.93766571, 1.19343762,
- ... 1.94954931, 0.84687514, 0.49284897, 1.05066204, 1.89088505,
- ... 0.840738 , 1.02901457, 1.0758625 , 1.76357967, 0.45792897,
- ... 1.54488066, 0.17644313, 1.6798871 , 0.72583514, 2.22087245],
- ... [ 1.69496432, 0.81791905, 0.82534709, 0.71642389, 0.89294732,
- ... 1.66888649, 0.69036947, 0.99961448, 0.30657267, 0.98798713,
- ... 0.83298728, 1.83334948, 1.90144186, 1.25781913, 0.07122458,
- ... 2.42340852, 2.41342037, 0.87233305, 1.17537114, 1.69505988]])
-
- >>> x = np.linspace(0, max(data.ravel()) + 1, 3)
- >>> dx = x[1] - x[0]
- >>> X = np.vstack((x, x, x))
- >>> c = wk.gridcount(data, X)
- >>> c
- array([[[ 8.74229894e-01, 1.27910940e+00, 1.42033973e-01],
- [ 1.94778915e+00, 2.59536282e+00, 3.28213680e-01],
- [ 1.08429416e-01, 1.69571495e-01, 7.48896775e-03]],
-
- [[ 1.44969128e+00, 2.58396370e+00, 2.45459949e-01],
- [ 2.28951650e+00, 4.49653348e+00, 2.73167915e-01],
- [ 1.10905565e-01, 3.18733817e-01, 1.12880816e-02]],
-
- [[ 7.49265424e-02, 2.18142488e-01, 0.00000000e+00],
- [ 8.53886762e-02, 3.73415131e-01, 0.00000000e+00],
- [ 4.16196568e-04, 1.62218824e-02, 0.00000000e+00]]])
-
- '''
-def test_gridcount_4D():
- '''
- N = 20
- data = np.random.rayleigh(1, size=(2, N))
- >>> data = array([[ 0.38103275, 0.35083136, 0.90024207, 1.88230239, 0.96815399,
- ... 0.57392873, 1.63367908, 1.20944125, 2.03887811, 0.81789145],
- ... [ 0.69302049, 1.40856592, 0.92156032, 2.14791432, 2.04373821,
- ... 0.69800708, 0.58428735, 1.59128776, 2.05771405, 0.87021964],
- ... [ 1.44080694, 0.39973751, 1.331243 , 2.48895822, 1.18894158,
- ... 1.40526085, 1.01967897, 0.81196474, 1.37978932, 2.03334689],
- ... [ 0.870329 , 1.25106862, 0.5346619 , 0.47541236, 1.51930093,
- ... 0.58861519, 1.19780448, 0.81548296, 1.56859488, 1.60653533]])
-
- >>> x = np.linspace(0, max(data.ravel()) + 1, 3)
- >>> dx = x[1] - x[0]
- >>> X = np.vstack((x, x, x, x))
- >>> c = wk.gridcount(data, X)
- >>> c
- array([[[[ 1.77163904e-01, 1.87720108e-01, 0.00000000e+00],
- [ 5.72573585e-01, 6.09557834e-01, 0.00000000e+00],
- [ 3.48549923e-03, 4.05931870e-02, 0.00000000e+00]],
-
- [[ 1.83770124e-01, 2.56357594e-01, 0.00000000e+00],
- [ 4.35845892e-01, 6.14958970e-01, 0.00000000e+00],
- [ 3.07662204e-03, 3.58312786e-02, 0.00000000e+00]],
-
- [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]],
-
-
- [[[ 3.41883175e-01, 5.97977973e-01, 0.00000000e+00],
- [ 5.72071865e-01, 8.58566538e-01, 0.00000000e+00],
- [ 3.46939323e-03, 4.04056116e-02, 0.00000000e+00]],
-
- [[ 3.58861043e-01, 6.28962785e-01, 0.00000000e+00],
- [ 8.80697705e-01, 1.47373158e+00, 0.00000000e+00],
- [ 2.22868504e-01, 1.18008528e-01, 0.00000000e+00]],
-
- [[ 2.91835067e-03, 2.60268355e-02, 0.00000000e+00],
- [ 3.63686503e-02, 1.07959459e-01, 0.00000000e+00],
- [ 1.88555613e-02, 7.06358976e-03, 0.00000000e+00]]],
-
-
- [[[ 3.13810608e-03, 2.11731327e-02, 0.00000000e+00],
- [ 6.71606255e-03, 4.53139824e-02, 0.00000000e+00],
- [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
-
- [[ 7.05946179e-03, 5.44614852e-02, 0.00000000e+00],
- [ 1.09099593e-01, 1.95935584e-01, 0.00000000e+00],
- [ 6.61257395e-02, 2.47717418e-02, 0.00000000e+00]],
-
- [[ 6.38695629e-04, 5.69610302e-03, 0.00000000e+00],
- [ 1.00358265e-02, 2.44053065e-02, 0.00000000e+00],
- [ 5.67244468e-03, 2.12498697e-03, 0.00000000e+00]]]])
-
- h = plb.plot(x, c, '.') # 1D histogram
-
- h1 = plb.plot(x, c / dx / N) # 1D probability density plot
- t = np.trapz(x, c / dx / N)
- print(t)
- '''
-
-def test_docstrings():
- import doctest
- doctest.testmod()
-
-if __name__ == '__main__':
- test_docstrings()
\ No newline at end of file
+'''
+Created on 20. nov. 2010
+
+@author: pab
+'''
+
+import numpy as np # @UnusedImport
+from numpy import array # @UnusedImport
+import wafo.kdetools as wk # @UnusedImport
+# import pylab as plb
+
+
+def test0_KDE1D():
+ '''
+ >>> data = array([0.75355792, 0.72779194, 0.94149169, 0.07841119,
+ ... 2.32291887, 1.10419995, 0.77055114, 0.60288273,
+ ... 1.36883635, 1.74754326, 1.09547561, 1.01671133,
+ ... 0.73211143, 0.61891719, 0.75903487, 1.8919469,
+ ... 0.72433808, 1.92973094, 0.44749838, 1.36508452])
+
+ >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
+ >>> import wafo.kdetools as wk
+ >>> kde = wk.KDE(data, hs=0.5, alpha=0.5)
+
+ >>> kde0 = wk.KDE(data, hs=0.5, alpha=0.0, inc=16)
+
+ >>> kde0.eval_grid(x)
+ array([ 0.2039735 , 0.40252503, 0.54595078, 0.52219649, 0.3906213 ,
+ 0.26381501, 0.16407362, 0.08270612, 0.02991145, 0.00720821])
+ >>> kde0.eval_grid_fast(x)
+ array([ 0.20729484, 0.39865044, 0.53716945, 0.5169322 , 0.39060223,
+ 0.26441126, 0.16388801, 0.08388527, 0.03227164, 0.00883579])
+
+ >>> f = kde0.eval_grid_fast(); f
+ array([ 0.06807544, 0.12949095, 0.21985421, 0.33178031, 0.44334874,
+ 0.52429234, 0.55140336, 0.52221323, 0.45500674, 0.3752208 ,
+ 0.30046799, 0.235667 , 0.17854402, 0.12721305, 0.08301993,
+ 0.04862324])
+ >>> np.allclose(np.trapz(f,kde0.args), array([ 0.96716261]))
+ True
+ '''
+
+
+def test1_TKDE1D():
+ '''
+ N = 20
+ data = np.random.rayleigh(1, size=(N,))
+ >>> data = array([0.75355792, 0.72779194, 0.94149169, 0.07841119,
+ ... 2.32291887, 1.10419995, 0.77055114, 0.60288273,
+ ... 1.36883635, 1.74754326, 1.09547561, 1.01671133,
+ ... 0.73211143, 0.61891719, 0.75903487, 1.8919469,
+ ... 0.72433808, 1.92973094, 0.44749838, 1.36508452])
+
+ >>> x = np.linspace(0.01, max(data.ravel()) + 1, 10)
+ >>> kde = wk.TKDE(data, hs=0.5, L2=0.5)
+ >>> f = kde(x)
+ >>> f
+ array([ 1.03982714, 0.45839018, 0.39514782, 0.32860602, 0.26433318,
+ 0.20717946, 0.15907684, 0.1201074 , 0.08941027, 0.06574882])
+
+ >>> np.trapz(f, x)
+ 0.94787730659349068
+
+ h1 = plb.plot(x, f) # 1D probability density plot
+ '''
+
+
+def test1_KDE1D():
+ '''
+ N = 20
+ data = np.random.rayleigh(1, size=(N,))
+ >>> data = array([0.75355792, 0.72779194, 0.94149169, 0.07841119,
+ ... 2.32291887, 1.10419995, 0.77055114, 0.60288273,
+ ... 1.36883635, 1.74754326, 1.09547561, 1.01671133,
+ ... 0.73211143, 0.61891719, 0.75903487, 1.8919469,
+ ... 0.72433808, 1.92973094, 0.44749838, 1.36508452])
+
+ >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
+ >>> kde = wk.KDE(data, hs=0.5)
+ >>> f = kde(x)
+ >>> f
+ array([ 0.2039735 , 0.40252503, 0.54595078, 0.52219649, 0.3906213 ,
+ 0.26381501, 0.16407362, 0.08270612, 0.02991145, 0.00720821])
+
+ >>> np.trapz(f, x)
+ 0.92576174424281876
+
+ h1 = plb.plot(x, f) # 1D probability density plot
+ '''
+
+
+def test2_KDE1D():
+ '''
+ N = 20
+ data = np.random.rayleigh(1, size=(N,))
+ >>> data = array([ 0.75355792, 0.72779194, 0.94149169, 0.07841119,
+ ... 2.32291887, 1.10419995, 0.77055114, 0.60288273, 1.36883635,
+ ... 1.74754326, 1.09547561, 1.01671133, 0.73211143, 0.61891719,
+ ... 0.75903487, 1.8919469, 0.72433808, 1.92973094, 0.44749838,
+ ... 1.36508452])
+
+ >>> data = np.asarray([1,2])
+ >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
+ >>> kde = wk.KDE(data, hs=0.5)
+ >>> f = kde(x)
+ >>> f
+ array([ 0.0541248 , 0.16555235, 0.33084399, 0.45293325, 0.48345808,
+ 0.48345808, 0.45293325, 0.33084399, 0.16555235, 0.0541248 ])
+
+ >>> np.trapz(f, x)
+ 0.97323338046725172
+
+ h1 = plb.plot(x, f) # 1D probability density plot
+ '''
+
+
+def test1a_KDE1D():
+ '''
+ N = 20
+ data = np.random.rayleigh(1, size=(N,))
+ >>> data = array([
+ ... 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
+ ... 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
+ ... 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
+ ... 1.8919469 , 0.72433808, 1.92973094, 0.44749838, 1.36508452])
+
+ >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
+ >>> kde = wk.KDE(data, hs=0.5, alpha=0.5)
+ >>> f = kde(x)
+ >>> f
+ array([ 0.17252055, 0.41014271, 0.61349072, 0.57023834, 0.37198073,
+ 0.21409279, 0.12738463, 0.07460326, 0.03956191, 0.01887164])
+
+ >>> np.trapz(f, x)
+ 0.92938023659047952
+
+ h1 = plb.plot(x, f) # 1D probability density plot
+ '''
+
+
+def test2a_KDE1D():
+ '''
+ N = 20
+ data = np.random.rayleigh(1, size=(N,))
+ >>> data = array([
+ ... 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
+ ... 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
+ ... 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
+ ... 1.8919469 , 0.72433808, 1.92973094, 0.44749838, 1.36508452])
+
+ >>> data = np.asarray([1,2])
+ >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
+ >>> kde = wk.KDE(data, hs=0.5, alpha=0.5)
+ >>> f = kde(x)
+ >>> f
+ array([ 0.0541248 , 0.16555235, 0.33084399, 0.45293325, 0.48345808,
+ 0.48345808, 0.45293325, 0.33084399, 0.16555235, 0.0541248 ])
+
+ >>> np.trapz(f, x)
+ 0.97323338046725172
+
+ h1 = plb.plot(x, f) # 1D probability density plot
+ '''
+
+
+def test_KDE2D():
+ '''
+ N = 20
+ data = np.random.rayleigh(1, size=(2, N))
+ >>> data = array([[
+ ... 0.38103275, 0.35083136, 0.90024207, 1.88230239, 0.96815399,
+ ... 0.57392873, 1.63367908, 1.20944125, 2.03887811, 0.81789145,
+ ... 0.69302049, 1.40856592, 0.92156032, 2.14791432, 2.04373821,
+ ... 0.69800708, 0.58428735, 1.59128776, 2.05771405, 0.87021964],
+ ... [1.44080694, 0.39973751, 1.331243 , 2.48895822, 1.18894158,
+ ... 1.40526085, 1.01967897, 0.81196474, 1.37978932, 2.03334689,
+ ... 0.870329 , 1.25106862, 0.5346619 , 0.47541236, 1.51930093,
+ ... 0.58861519, 1.19780448, 0.81548296, 1.56859488, 1.60653533]])
+
+ >>> x = np.linspace(0, max(data.ravel()) + 1, 3)
+
+ >>> kde = wk.KDE(data, hs=0.5, alpha=0.5)
+
+ >>> kde0 = wk.KDE(data, hs=0.5, alpha=0.0, inc=16)
+
+ >>> kde0.eval_grid(x, x)
+ array([[ 3.27260963e-02, 4.21654678e-02, 5.85338634e-04],
+ [ 6.78845466e-02, 1.42195839e-01, 1.41676003e-03],
+ [ 1.39466746e-04, 4.26983850e-03, 2.52736185e-05]])
+ >>> kde0.eval_grid_fast(x, x)
+ array([[ 0.04435061, 0.06433531, 0.00413538],
+ [ 0.07218297, 0.12358196, 0.00928889],
+ [ 0.00161333, 0.00794858, 0.00058748]])
+
+ '''
+
+
+def test_smooth_params():
+ '''
+ >>> data = np.array([[
+ ... 0.932896 , 0.89522635, 0.80636346, 1.32283371, 0.27125435,
+ ... 1.91666304, 2.30736635, 1.13662384, 1.73071287, 1.06061127,
+ ... 0.99598512, 2.16396591, 1.23458213, 1.12406686, 1.16930431,
+ ... 0.73700592, 1.21135139, 0.46671506, 1.3530304 , 0.91419104],
+ ... [ 0.62759088, 0.23988169, 2.04909823, 0.93766571, 1.19343762,
+ ... 1.94954931, 0.84687514, 0.49284897, 1.05066204, 1.89088505,
+ ... 0.840738 , 1.02901457, 1.0758625 , 1.76357967, 0.45792897,
+ ... 1.54488066, 0.17644313, 1.6798871 , 0.72583514, 2.22087245],
+ ... [ 1.69496432, 0.81791905, 0.82534709, 0.71642389, 0.89294732,
+ ... 1.66888649, 0.69036947, 0.99961448, 0.30657267, 0.98798713,
+ ... 0.83298728, 1.83334948, 1.90144186, 1.25781913, 0.07122458,
+ ... 2.42340852, 2.41342037, 0.87233305, 1.17537114, 1.69505988]])
+
+ >>> gauss = wk.Kernel('gaussian')
+ >>> gauss.hns(data)
+ array([ 0.18154437, 0.36207987, 0.37396219])
+ >>> gauss.hos(data)
+ array([ 0.195209 , 0.3893332 , 0.40210988])
+ >>> gauss.hmns(data)
+ array([[ 3.25196193e-01, -2.68892467e-02, 3.18932448e-04],
+ [ -2.68892467e-02, 3.91283306e-01, 2.38654678e-02],
+ [ 3.18932448e-04, 2.38654678e-02, 4.05123874e-01]])
+ >>> gauss.hscv(data)
+ array([ 0.16858959, 0.32739383, 0.3046287 ])
+
+ >>> gauss.hstt(data)
+ array([ 0.18099075, 0.50409881, 0.11018912])
+
+ >>> gauss.hste(data)
+ array([ 0.16750009, 0.29059113, 0.17994255])
+
+ >>> gauss.hldpi(data)
+ array([ 0.1732289 , 0.33159097, 0.3107633 ])
+
+ >>> np.allclose(gauss.hisj(data),
+ ... array([ 0.29542502, 0.74277133, 0.51899114]))
+ True
+ '''
+
+
+def test_gridcount_1D():
+ '''
+ N = 20
+ data = np.random.rayleigh(1, size=(N,))
+ >>> data = array([
+ ... 0.75355792, 0.72779194, 0.94149169, 0.07841119, 2.32291887,
+ ... 1.10419995, 0.77055114, 0.60288273, 1.36883635, 1.74754326,
+ ... 1.09547561, 1.01671133, 0.73211143, 0.61891719, 0.75903487,
+ ... 1.8919469 , 0.72433808, 1.92973094, 0.44749838, 1.36508452])
+
+ >>> x = np.linspace(0, max(data.ravel()) + 1, 10)
+ >>> dx = x[1] - x[0]
+ >>> c = wk.gridcount(data, x)
+ >>> c
+ array([ 0.78762626, 1.77520717, 7.99190087, 4.04054449, 1.67156643,
+ 2.38228499, 1.05933195, 0.29153785, 0. , 0. ])
+
+ h = plb.plot(x, c, '.') # 1D histogram
+
+ h1 = plb.plot(x, c / dx / N) # 1D probability density plot
+ t = np.trapz(c / dx / N, x)
+ print(t)
+ '''
+
+
+def test_gridcount_2D():
+ '''
+ N = 20
+ data = np.random.rayleigh(1, size=(2, N))
+ >>> data = array([[
+ ... 0.38103275, 0.35083136, 0.90024207, 1.88230239, 0.96815399,
+ ... 0.57392873, 1.63367908, 1.20944125, 2.03887811, 0.81789145,
+ ... 0.69302049, 1.40856592, 0.92156032, 2.14791432, 2.04373821,
+ ... 0.69800708, 0.58428735, 1.59128776, 2.05771405, 0.87021964],
+ ... [ 1.44080694, 0.39973751, 1.331243 , 2.48895822, 1.18894158,
+ ... 1.40526085, 1.01967897, 0.81196474, 1.37978932, 2.03334689,
+ ... 0.870329 , 1.25106862, 0.5346619 , 0.47541236, 1.51930093,
+ ... 0.58861519, 1.19780448, 0.81548296, 1.56859488, 1.60653533]])
+
+ >>> x = np.linspace(0, max(data.ravel()) + 1, 5)
+ >>> dx = x[1] - x[0]
+ >>> X = np.vstack((x, x))
+ >>> c = wk.gridcount(data, X)
+ >>> c
+ array([[ 0.38922806, 0.8987982 , 0.34676493, 0.21042807, 0. ],
+ [ 1.15012203, 5.16513541, 3.19250588, 0.55420752, 0. ],
+ [ 0.74293418, 3.42517219, 1.97923195, 0.76076621, 0. ],
+ [ 0.02063536, 0.31054405, 0.71865964, 0.13486633, 0. ],
+ [ 0. , 0. , 0. , 0. , 0. ]])
+
+ h = plb.plot(x, c, '.') # 1D histogram
+
+ h1 = plb.plot(x, c / dx / N) # 1D probability density plot
+ t = np.trapz(c / dx / N, x)
+ print(t)
+ '''
+
+
+def test_gridcount_3D():
+ '''
+ N = 20
+ data = np.random.rayleigh(1, size=(3, N))
+ >>> data = np.array([[
+ ... 0.932896 , 0.89522635, 0.80636346, 1.32283371, 0.27125435,
+ ... 1.91666304, 2.30736635, 1.13662384, 1.73071287, 1.06061127,
+ ... 0.99598512, 2.16396591, 1.23458213, 1.12406686, 1.16930431,
+ ... 0.73700592, 1.21135139, 0.46671506, 1.3530304 , 0.91419104],
+ ... [ 0.62759088, 0.23988169, 2.04909823, 0.93766571, 1.19343762,
+ ... 1.94954931, 0.84687514, 0.49284897, 1.05066204, 1.89088505,
+ ... 0.840738 , 1.02901457, 1.0758625 , 1.76357967, 0.45792897,
+ ... 1.54488066, 0.17644313, 1.6798871 , 0.72583514, 2.22087245],
+ ... [ 1.69496432, 0.81791905, 0.82534709, 0.71642389, 0.89294732,
+ ... 1.66888649, 0.69036947, 0.99961448, 0.30657267, 0.98798713,
+ ... 0.83298728, 1.83334948, 1.90144186, 1.25781913, 0.07122458,
+ ... 2.42340852, 2.41342037, 0.87233305, 1.17537114, 1.69505988]])
+
+ >>> x = np.linspace(0, max(data.ravel()) + 1, 3)
+ >>> dx = x[1] - x[0]
+ >>> X = np.vstack((x, x, x))
+ >>> c = wk.gridcount(data, X)
+ >>> c
+ array([[[ 8.74229894e-01, 1.27910940e+00, 1.42033973e-01],
+ [ 1.94778915e+00, 2.59536282e+00, 3.28213680e-01],
+ [ 1.08429416e-01, 1.69571495e-01, 7.48896775e-03]],
+
+ [[ 1.44969128e+00, 2.58396370e+00, 2.45459949e-01],
+ [ 2.28951650e+00, 4.49653348e+00, 2.73167915e-01],
+ [ 1.10905565e-01, 3.18733817e-01, 1.12880816e-02]],
+
+ [[ 7.49265424e-02, 2.18142488e-01, 0.00000000e+00],
+ [ 8.53886762e-02, 3.73415131e-01, 0.00000000e+00],
+ [ 4.16196568e-04, 1.62218824e-02, 0.00000000e+00]]])
+
+ '''
+
+
+def test_gridcount_4D():
+ '''
+ N = 20
+ data = np.random.rayleigh(1, size=(2, N))
+ >>> data = array([[
+ ... 0.38103275, 0.35083136, 0.90024207, 1.88230239, 0.96815399,
+ ... 0.57392873, 1.63367908, 1.20944125, 2.03887811, 0.81789145],
+ ... [ 0.69302049, 1.40856592, 0.92156032, 2.14791432, 2.04373821,
+ ... 0.69800708, 0.58428735, 1.59128776, 2.05771405, 0.87021964],
+ ... [ 1.44080694, 0.39973751, 1.331243 , 2.48895822, 1.18894158,
+ ... 1.40526085, 1.01967897, 0.81196474, 1.37978932, 2.03334689],
+ ... [ 0.870329 , 1.25106862, 0.5346619 , 0.47541236, 1.51930093,
+ ... 0.58861519, 1.19780448, 0.81548296, 1.56859488, 1.60653533]])
+
+ >>> x = np.linspace(0, max(data.ravel()) + 1, 3)
+ >>> dx = x[1] - x[0]
+ >>> X = np.vstack((x, x, x, x))
+ >>> c = wk.gridcount(data, X)
+ >>> c
+ array([[[[ 1.77163904e-01, 1.87720108e-01, 0.00000000e+00],
+ [ 5.72573585e-01, 6.09557834e-01, 0.00000000e+00],
+ [ 3.48549923e-03, 4.05931870e-02, 0.00000000e+00]],
+
+ [[ 1.83770124e-01, 2.56357594e-01, 0.00000000e+00],
+ [ 4.35845892e-01, 6.14958970e-01, 0.00000000e+00],
+ [ 3.07662204e-03, 3.58312786e-02, 0.00000000e+00]],
+
+ [[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
+ [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
+ [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]],
+
+
+ [[[ 3.41883175e-01, 5.97977973e-01, 0.00000000e+00],
+ [ 5.72071865e-01, 8.58566538e-01, 0.00000000e+00],
+ [ 3.46939323e-03, 4.04056116e-02, 0.00000000e+00]],
+
+ [[ 3.58861043e-01, 6.28962785e-01, 0.00000000e+00],
+ [ 8.80697705e-01, 1.47373158e+00, 0.00000000e+00],
+ [ 2.22868504e-01, 1.18008528e-01, 0.00000000e+00]],
+
+ [[ 2.91835067e-03, 2.60268355e-02, 0.00000000e+00],
+ [ 3.63686503e-02, 1.07959459e-01, 0.00000000e+00],
+ [ 1.88555613e-02, 7.06358976e-03, 0.00000000e+00]]],
+
+
+ [[[ 3.13810608e-03, 2.11731327e-02, 0.00000000e+00],
+ [ 6.71606255e-03, 4.53139824e-02, 0.00000000e+00],
+ [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
+
+ [[ 7.05946179e-03, 5.44614852e-02, 0.00000000e+00],
+ [ 1.09099593e-01, 1.95935584e-01, 0.00000000e+00],
+ [ 6.61257395e-02, 2.47717418e-02, 0.00000000e+00]],
+
+ [[ 6.38695629e-04, 5.69610302e-03, 0.00000000e+00],
+ [ 1.00358265e-02, 2.44053065e-02, 0.00000000e+00],
+ [ 5.67244468e-03, 2.12498697e-03, 0.00000000e+00]]]])
+
+ h = plb.plot(x, c, '.') # 1D histogram
+
+ h1 = plb.plot(x, c / dx / N) # 1D probability density plot
+ t = np.trapz(x, c / dx / N)
+ print(t)
+ '''
+
+
+def test_docstrings():
+ import doctest
+ print('Testing docstrings in %s' % __file__)
+ doctest.testmod(optionflags=doctest.NORMALIZE_WHITESPACE)
+
+if __name__ == '__main__':
+ test_docstrings()
diff --git a/pywafo/src/wafo/test/test_objects.py b/pywafo/src/wafo/test/test_objects.py
index 23f4a60..2ca9369 100644
--- a/pywafo/src/wafo/test/test_objects.py
+++ b/pywafo/src/wafo/test/test_objects.py
@@ -19,7 +19,6 @@ def test_timeseries():
Estimate spectrum
>>> S = ts.tospecdata()
- The default L is set to 325
>>> S.data[:10]
array([ 0.00913087, 0.00881073, 0.00791944, 0.00664244, 0.00522429,
0.00389816, 0.00282753, 0.00207843, 0.00162678, 0.0013916 ])
@@ -41,19 +40,23 @@ def test_timeseries_trdata():
>>> Sj = sm.Jonswap(Hm0=Hs)
>>> S = Sj.tospecdata() #Make spectrum object from numerical values
>>> S.tr = tm.TrOchi(mean=0, skew=0.16, kurt=0, sigma=Hs/4, ysigma=Hs/4)
- >>> xs = S.sim(ns=2**20)
+ >>> xs = S.sim(ns=2**20, iseed=10)
>>> ts = mat2timeseries(xs)
>>> g0, gemp = ts.trdata(monitor=True) # Monitor the development
- >>> g1, gemp = ts.trdata(method='m', gvar=0.5 ) # Equal weight on all points
- >>> g2, gemp = ts.trdata(method='n', gvar=[3.5, 0.5, 3.5]) # Less weight on the ends
- >>> S.tr.dist2gauss()
- 1.4106988010566603
- >>> np.round(g0.dist2gauss())
- 1.0
- >>> np.round(g1.dist2gauss())
- 1.0
- >>> np.round(g2.dist2gauss())
- 1.0
+
+ # Equal weight on all points
+ >>> g1, gemp = ts.trdata(method='mnonlinear', gvar=0.5 )
+
+ # Less weight on the ends
+ >>> g2, gemp = ts.trdata(method='nonlinear', gvar=[3.5, 0.5, 3.5])
+ >>> 1.2 < S.tr.dist2gauss() < 1.6
+ True
+ >>> 1.65 < g0.dist2gauss() < 2.05
+ True
+ >>> 0.54 < g1.dist2gauss() < 0.95
+ True
+ >>> 1.5 < g2.dist2gauss() < 1.9
+ True
'''
if __name__ == '__main__':
diff --git a/pywafo/src/wafo/transform/estimation.py b/pywafo/src/wafo/transform/estimation.py
index 1d8737c..6d98d47 100644
--- a/pywafo/src/wafo/transform/estimation.py
+++ b/pywafo/src/wafo/transform/estimation.py
@@ -82,7 +82,7 @@ class TransformEstimator(object):
def __init__(self, method='nonlinear', chkder=True, plotflag=False,
csm=.95, gsm=.05, param=(-5, 5, 513), delay=2, ntr=10000,
linextrap=True, ne=7, cvar=1, gvar=1, multip=False,
- crossdef='uM'):
+ crossdef='uM', monitor=False):
self.method = method
self.chkder = chkder
self.plotflag = plotflag
@@ -349,7 +349,7 @@ class TransformEstimator(object):
if self.chkder:
tr_raw = TrData(tmp[Ne:nd - Ne], cdf.args[ind1], mean=mean,
- sigma=sigma)
+ sigma=sigma)
tr = self._check_tr(tr, tr_raw)
if self.plotflag > 0:
diff --git a/pywafo/src/wafo/transform/models.py b/pywafo/src/wafo/transform/models.py
index 44b5809..2fb9d31 100644
--- a/pywafo/src/wafo/transform/models.py
+++ b/pywafo/src/wafo/transform/models.py
@@ -8,8 +8,8 @@ TrLinear
# !/usr/bin/env python
from __future__ import division
from scipy.optimize import brentq
-from numpy import (sqrt, atleast_1d, abs, imag, sign, where, cos, arccos, ceil, # @UnresolvedImport
- expm1, log1p, pi) # @UnresolvedImport
+from numpy import (sqrt, atleast_1d, abs, imag, sign, where, cos, arccos, ceil,
+ expm1, log1p, pi)
import numpy as np
import warnings
from core import TrCommon, TrData
@@ -69,7 +69,7 @@ class TrCommon2(TrCommon):
class TrHermite(TrCommon2):
- __doc__ = TrCommon2.__doc__.replace('', 'Hermite' # @ReservedAssignment
+ __doc__ = TrCommon2.__doc__.replace('', 'Hermite'
) + """
pardef : scalar, integer
1 Winterstein et. al. (1994) parametrization [1]_ (default)
@@ -319,13 +319,13 @@ class TrHermite(TrCommon2):
A0 = (q1 - q0) ** (1. / 3.)
B0 = -(q1 + q0) ** (1. / 3.)
return A0 + B0 - x0 # % real root
- #%% The other complex roots are given by
- #%x= -(A0+B0)/2+(A0-B0)*sqrt(3)/2-x0
- #%x=-(A0+B0)/2+(A0-B0)*sqrt(-3)/2-x0
+ # The other complex roots are given by
+ # x= -(A0+B0)/2+(A0-B0)*sqrt(3)/2-x0
+ # x=-(A0+B0)/2+(A0-B0)*sqrt(-3)/2-x0
class TrLinear(TrCommon2):
- __doc__ = TrCommon2.__doc__.replace('', 'Linear' # @ReservedAssignment
+ __doc__ = TrCommon2.__doc__.replace('', 'Linear'
) + """
Description
-----------
@@ -368,7 +368,7 @@ class TrLinear(TrCommon2):
class TrOchi(TrCommon2):
- __doc__ = TrCommon2.__doc__.replace('', 'Ochi' # @ReservedAssignment
+ __doc__ = TrCommon2.__doc__.replace('', 'Ochi'
) + """
Description
@@ -450,7 +450,8 @@ class TrOchi(TrCommon2):
# Let x = [a sig2^2 ]
# Set up the 2D non-linear equations for a and sig2^2:
- # g1='[x(2)-2.*x(1).^2.*x(2).^2-P1, 2.*x(1).*x(2).^2.*(3-8.*x(1).^2.*x(2))-P2 ]'
+ # g1='[x(2)-2.*x(1).^2.*x(2).^2-P1,
+ # 2.*x(1).*x(2).^2.*(3-8.*x(1).^2.*x(2))-P2 ]'
# Or solve the following 1D non-linear equation for sig2^2:
g2 = lambda x: -sqrt(abs(x - 1) * 2) * \
(3. * x - 4 * abs(x - 1)) + abs(skew)