ESBMaths(TM) v3.0 8 October 2000

by ESB Consultancy (Glenn Crouch) mailto:info@esbconsult.com.au

(c) 1997-2000 ESB Consultancy
PO Box 2259
Boulder WA 6449
AUSTRALIA
http://www.esbconsult.com.au/

Includes over 150 Routines!

The aim of this code is to provide miscellaneous Mathematical and
Statistical Routines both for Integers and Floating Point Values.

The Delphi Math unit is not required so this can safely be used
by owners of the Standard versions.

Code is Delphi 4 & 5 but should also work fine in Delphi 2 and 3 due
to conditional compiler instructions. ESBMaths2 unit is Delphi 4 & 5
specific as it contains routines for Dynamic Arrays.

You are free to use the code as you see fit, however an
Email or Postcard would be nice, as would a reference to
our web site included on our web site or in your docs.
Though none of this is obligatory.

ESB Consultancy makes no guarantees regarding the capabilities
nor the "Safeness" of this code. It is free after all,
so you take all the risks :-)

ESB Consultancy makes no promise of support for this code,
however we are happy to receive Email comments

There is a support Conference available at:
http://wb1.e-fora.net:8080/~ESB

This allows access via Web Board, Mailing List and/or News Reader.
If you have trouble accessing, then email us and we will happily
add you to Mailing List Access.

Latest version always at http://www.esbconsult.com.au

---

If you want even more Math & Stats watch checkout ESBPCS -
ESB Professional Computation Suite - with 3000+ routines
and 80+ components to make Data Entry and Manipulation
Easier in Delphi 4 & 5 and C++ Builder 4 & 5.

http://www.esbconsult.com.au/esbpcs.html

---

Special thanks to Marcel Martin who donated some optimised
code. Marcel's excellent product HIT - Huge Integer Tools - 
can be downloaded from:

http://www.esbconsult.com.au/esbpcs-hit.html

Special thanks to Rory Daulton who also donated optimised
code to make things even better.

---

Version History:

v3.0 8 October 2000
- Many improvements to Optimisation.
- Improved and Added Constants.
- Michael Schnell developed BitsHighest that makes BitsNeeded much
	more efficient.
- Set Default ESBTolerance much smaller.
- Added FloatIsNegative & FloatIsPositive.
- Swaps changed back to Pascal since for D4 and above it optimises to
	better code.
- Added Swaps for the Floats and Int64.
- Improved ISqrt from Rory Daulton.
- Added ILog2 from Rory Daulton.
- Factorial, Permutations & Binomial Coefficients now correctly handle
	up to N = 1754.
- Added ESBArcSec and ESBArcCosec.
- Power & Log Routines completely overhauled - many thanks to Rory Daulton.

v2.3 13 November 1999
- very nice GCD Routine donated by Marcel Martin.
- LCM and Relative Prime Routines to go with above added.
- InPlace Addition & Subtraction of Matrices added.
- Multiplication of Matrices added.
- Transposing Matrices added.

v2.2 18 September 1999
- Now over 130 Routines
- Added Delphi 5 Support
- All Optional Dependence on Math Unit removed by our own routines
- Added a collection of Constants for faster calculations
- Added several Trigonometric Routines
- Added Hyperbolic Routines
- Added Various Logarithm and Power Routines

v2.1 13 July 1999
- Now with over 110 Routines!
- Added ESBDigits and ESBBitsNeeded for Cardinals to ESBMaths
- Added ESBMagnitude for Reals to ESBMaths
- Added GrandMean to ESBMath2
- Added Matrix Operations to ESBMath2, just the start

v2.0 16 Apr 1999
- Delphi 4 specific routines moved to ESBMaths2
- Added Vector operations to ESBMath2

v1.1 22 Jan 1999
- Improved Delphi 4 support
- Added: SumLWArray, SumSqEArray, SumSqDiffEArray, SumXYEArray
- Added: IsPositiveEArray
- Added: Geometric and Harmonic Means
- Added ESBMean, Median and Mode
- Added Routines for Variances and Means for Populations & Samples
- Added Quartile Calculations
- Fixed a couple of minor bugs
- Fixed bug in XY2Polar reported by Wolfgang Werner
- Added Help File

v1.01 17 July 1998
- Added some improvements suggested by Rory Daulton
- Added Factorials using Extendeds
- Added Permutations using Extendeds
- Added Combinations using Extendeds
- Added SwapI32 to Swap Integers
- Added SwapC to Swap Cardinals
- Added Factorials computed using Extendeds
- Added Permutations computed using Extendeds
- Added Binomial Coefficients (Combinations) computed using Extendeds

1.0 17 Apr 1997
- First Public Freeware Release

OTHER PRODUCTS
==============

ESBPCS(TM)
==========

ESB Professional Computation Suite (ESBPCS) is a collection of over
3000 routines/methods and over 120 classes/components in over 80 
units for Borland Delphi 4 & 5 and C++ Builder 4 & 5, which are aimed
at making Data Entry & Manipulation Easier for you and your users.

Our components are designed to do more of the work for you. Powerful 
Edit controls with Alignment, Read Only Colouring, On Focus Colouring, 
and a plethora of data specific properties and methods make using 
MaskEdit a thing of the past. Plus we supply a flexibility that your 
users have always wished for from edit controls. We also supply 
special components for the editing & displaying of Fractions, 
Date/Time, Complex Numbers, Vectors & Matrices, Resource friendly 
Spin Edits, ComboBoxes and CalcEdits. Plus Hex Edits, IP Address 
Edits & Attachable Labels.

Areas covered include Extended Currency Types, Date & Time 
Manipulation, Trigonometry,  Statistics, Linear Regression, 
Probability Distributions, Special Functions, Optimised Math, 
Vectors, Matrices, Equation Solving, Fractions, Business Math, 
Accounting, Complex Numbers, Geometry, Unit Conversions and much
more.

There are also components to aid in Statistics, Unit Conversion, 
Math Label for displaying formulae and a Repeatable Speed Button 
that doesn't use a Timer.

Data Aware Versions - many of the components have Data Aware 
versions and we are working on more. These components allow 
formatting from the control rather than playing with Field 
Settings or Masks. Plus the Aligned Edits stay aligned during 
data entry which is one of the most asked for things from our 
users and no doubt yours as well. Now also includes Data Aware 
Labels and Data Aware Descriptive Statistics.

Grab a Trial Version and Check out the Demos at: 
http://www.esbconsult.com.au/esbpcs.html

ESBPDF(TM) Analysis
===================

Provides everything needed for using Discrete & Continuous Probability
Distributions in a single application. Most Tables and supplied functions
(such as in MS Excel) give P(X <= A) and using algebra other results can
be found whereas ESB PDF Analysis handles all the Probability combinations
for you.

Features include: Binomial, Poisson, Normal, Exponential, Student t, Chi
Squared and F Distributions; Inverses of the Normal, Student t, Chi Squared
and F Distributions; Lists of Binomial Coefficients, Factorials,
Permutations; Fully Customisable; Integrated Help System which includes
a Tutorial.

We also plan on adding many more Distributions and features. Ideal for the
Math/Stats Student who wishes to understand Probability Distributions
better, as well as the Math Buff who wants a well designed calculating
tool.

Fully Functional Trial version available from our web site.
http://www.esbconsult.com.au/esbpdf.html

ESBStats(TM)
============

Statistical Analysis & Inferences in a MS Office 97 style Environment.

- Single, Dual (paired and unpaired) and Multiple Data Analysis.
- Data can be either for Sample or Population
- Data can be Time Based
- Data can be entered as Raw Data; Grouped Data; or as Summary Data
- Raw Data can be converted into Grouped Data
- Raw Data can have in-built Transformations applied to them
- Raw Data can have Custom defined Transformations applied to them
- Raw Data can have Random values meeting user defined criteria
- Data can be fully documented and stored in DataLists
- Standardisation of Data around given mean/standard deviation
- DataLists are grouped together in Workbooks - one Workbook is opened at 
  a time and can contain many DataLists
- ESB Statistical Workbooks (.esw) are Compound Documents like MS Word
  Documents and MS Excel Spreadsheets, thus they support the same properties 
  in Explorer.
- Sample Size calculations
- Random Sampling Lists
- Statistical Summary including: mean, median, mode, variance, standard 
  deviation, kurtosis, skew, etc.
- Comparison of Statistics for Raw and Grouped of the same Data.
- Graphs and Charts including: Histograms, Line Graphs, Pie Graphs, 
  Ogives, Scatter Diagrams, etc
- Inference and Hypothesis Analysis of a Single Population - including the
  Mean, the Variance and Proportions.
- Inference and Hypothesis Analysis of Two Populations - including Difference 
  of the Mean, Ratio of the Variance, Difference of Proportions.
- Analysis of Variance (ANOVA)
- Linear Regression with Transformations of the dependent variable
- Multiple Regression with Transformations of the dependent variables 
- Custom defined Transformations for Dual Data and Multiple Data Analysis
- Moving Averages
- Trend Analysis of Time Series Data
- Curve Fitting - calculation of polynomials and splines
- Data Import and Export to Text, Comma Delimited and Tab Delimited
- Data Import and Export to Excel
- Data Import and Export to DBF
- Data Input and Export via ODBC to Databases such as MS Access, 
  SQL Server and Oracle
- Saving of Charts and Graphs to BMP, WMF, EMF and JPG
- Saving of Summaries to RTF
- Sophisticated Reporting with Previewing
- HTML Output for integration into your Website
- Integrated Scientific Calculator also available as standalone
- Documentation Fields include Live Spell Checking like in MS Word
- Spell Checking and Thesaurus available on all Edit Fields
- Fully customisable interface
- Fully Integrated Help System
- On-line Tutorial

Available in 3 Editions: Lite, Standard and Professional
Professional is still under development.

Fully Functional Trial version available from our web site.
http://www.esbconsult.com.au/esbstats.html

ESBCalc(TM)
===========

A powerful FREEWARE Scientific Calculator, that uses Infix notation and
supports many functions. ESBCalc is integrated into ESBPDF and ESBStats
but if you would like a Free Standalone version come to our web site and
grab this.

Includes Delphi 4/5 Source. LMD Tools (http://www.lmdtools.com) needed to
recompile.

Grab a copy from http://www.esbconsult.com.au/esbcalc.html

ESBRoutines(TM)
===============

Collection of misc Delphi 32 Routines covering Strings, Block
Manipulation, Conversions, Bit Lists and more. Freeware. Includes 
full Source and Help File.

ESBDates(TM)
============

Collection of over 200 Date/Time Routines covering Date Conversions, 
Time Conversions, Date Arithmetic, Easter Calculations, Time Zones, 
RFC822 Compliant Routines, ISO-8601 Compliant Routines, Week Numbers, 
and much more. 

Includes Help File, GPTimeZone  & Calendar FAQ.

---
ESB Consultancy mailto:info@esbconsult.com.au
http://www.esbconsult.com.au

