The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.

Download Latest Version Resolver_v1p6p7-alpha.zip (7.6 MB)
Email in envelope

Get an email when there's a new version of Resolver

Home
Name Modified Size InfoDownloads / Week
readme < 21 hours ago 16.9 kB
Resolver_v1p6p7-alpha.zip 2025-11-05 7.6 MB
Resolver_v1p6p7-alpha.zip.md5 2025-11-05 60 Bytes
Resolver_v1p6p6j-alpha.zip 2025-11-04 7.2 MB
Resolver_v1p6p6j-alpha.zip.md5 2025-11-04 61 Bytes
Resolver_v1p6p5-alpha.zip 2025-11-03 6.9 MB
Resolver_v1p6p5-alpha.zip.md5 2025-11-03 60 Bytes
Resolver_v1p6p4-alpha.zip 2025-11-02 6.8 MB
Resolver_v1p6p4-alpha.zip.md5 2025-11-02 60 Bytes
Resolver_v1p6p3-alpha.zip 2025-11-01 6.0 MB
Resolver_v1p6p3-alpha.zip.md5 2025-11-01 60 Bytes
Resolver-v1p6p2-alpha.zip 2025-10-31 5.9 MB
Resolver-v1p6p2-alpha.zip.md5 2025-10-31 60 Bytes
Resolver_v1p6-alpha.zip 2025-10-30 5.8 MB
Resolver_v1p6-alpha.zip.md5 2025-10-30 58 Bytes
Resolver_v1p4-alpha.zip 2025-10-29 5.5 MB
Resolver_v1p4-alpha.zip.md5 2025-10-29 59 Bytes
Totals: 17 Items   51.9 MB 7
Resolver - a general purpose high precision conversion utility for Java.

Copyright (c) 2025 Shea Nicholas. Ghost Writer Enterprises Limited.
Ported from my C++ Geodesica-SFX Utility window.

History. The program began as a HyperCard stack back 1994 to aid my research
in sacred geometry. More interested in Dozenal than Decimal, I used Imperial
inches as a touchstone to the ancient canon of measures. The program has now
evolved to handle a plethora of other units, such as:

Pixels, Points (DTP), Points (Traditional), Pica-Ems, Fermi, Ångströms, Microns,
Millimeters, Centimeters, Meters, Kilometers, Astronomical Units, Light Years,
Parsecs, Micro-Inches, Mils, Lines, Inches, Palms, Hands, Feet, Yards, Fathoms,
Cables, Furlongs, Rods, Gunter's Chains, Gunter's Links, Modern Chains, Modern Links,
Miles, US Nautical Miles, UK Nautical Miles, Admiralty Miles, Leagues, Digits,
Royal Cubits, Palestinian Cubits, Sacred Cubits, Greek Cubits, Sumerian Feet,
Roman Feet, Roman Paces, Roman Furlongs, Remen, Stadia, Megalithic Yards,
Megalithic Fathoms and Megalithic Miles.

Additionally, the program converts both square and circular areas for all the above.

INSTRUCTIONS

Decimal Entry
Choose an input unit from the pop-up combo box. Type a decimal value in the
adjacent yellow field, and closest proper fraction (according to the number of
set divisions) is displayed in the yellow fields above. The actual fraction
value (regardless of set divisions) is displayed in the pink fields.

Proper Fraction Entry
Choose an input unit from the pop-up combo box.
Enter a proper fraction in the yellow input fields and click the Convert button.
Alternatively, use the slider to create the fraction. When Reduce is ON,
the fraction is reduced to its lowest terms.

Additionally, automatic conversions to all other unit types are displayed in the
output fields.

RUNNING THE PROGRAM

To run the prebuilt jar file on Windows programs double-click Resolver.bat
Alternatively, open a console in the dist directory and use the command:

java -jar .\Resolver.jar

NOTE: If jdk-25_windows-x64_bin.exe is installed after jre-8u471-windows-x64.exe
the jar file should run by double-clicking it, but optional console output
will be hidden.

COMPILING THE PROGRAM

Resolver was built using Apache NetBeans ID 27
Resolver class version code requires JDK-25:

https://www.oracle.com/uk/java/technologies/downloads/#jdk25-windows

The full Netbeans project is included in the Resolver distribution.

================================================================================
              RESOLVER RELEASE VERSION HISTORY AND DEVELOPMENT NOTES
================================================================================
VERSION                                                     DATE
================================================================================
1.6.8-alpha                                                 Any day now...

• Completely redesigned program and refactored CInchConversions.java into
  separate classes. Each conversion unit is now encapsulated in its own
  class, eg: CMiles.java, CLightYears.java, CAngstroms.java, etc. The source
  packages are now:
  
  resolver
  resolver.converters
  resolver.converters.area.circular
  resolver.converters.area.square
  resolver.converters.linear
  
  The new conversion classes are used as follows...
  
  For example, to convert inches to Kilometers:
  
  // ----
  BigDecimal bd = new BigDecimal("0.0");
  bd = bd.setScale(m_iPrecisionWorking, m_RoundingModeWorking);
  CKilometers kT = new CKilometers(m_iInchMeterRatioType, m_iPrecisionWorking,
       m_RoundingModeWorking);
  bd = kT.fromInches(bdInches);
  // ----
  
  And to convert Kilometers back into inches:
  
  // ----
  BigDecimal bd = new BigDecimal("0.0");
  bd = bd.setScale(m_iPrecisionWorking, m_RoundingModeWorking);
  CKilometers kT = new CKilometers(iInchMeterRatioType, iPrecision,
     rRoundingMode);
  bd = kT.toInches(bdVal);
  // ----
  
• Added Area computations. These are accessed on the Length tab which has been
  been renamed to "Length & Area". Chose from the combo pop-up menu beside the
  Unit type. You may select the following converters:
  
  1. LINEAR
  2. SQUARE AREA
  3. CIRCULAR AREA
  4. SQUARE & CIRCULAR AREA (useful for comparisons).

  IMPORTANT. Pay attention to Resolver's labels above the output fields.
  For example "Square Inches" refers to the actual number of "squared" Inches.
  Thus 144 Square Inches = the number of "Square Inches" in 1 "Square Foot"
  (12 x 12 Inches).
  
  Be aware that the quantity "144 Sq Inches" is never given as 12 inches Sq
  or 12^2 (12 to the power of 2). Thus 2 Sq Feet = 288 Sq Inches, and is never
  referred to as 16.97056275 inches Sq (which is the Square root of 288).
  
  For example, 1 square Acre contains 10 square Gunter's chains, or 43560 square
  Feet (which is 208.7103256 Feet on each side, but this value is never given);
  1 square "Half Acre" contains 21760 square Feet (which is 147.5804865 Feet on
  each side, but again, this value is not given); and 1 square "Quarter Acre"
  contains 10890 square Feet (which is 104.3551628 Feet on each side, but again,
  Resolver never gives the square root value).

  A "Circular Inch" is the area of a circle of 1 inch diameter; likewise, a
  "Circular Foot" is the area of a foot of 1 inch diameter. Circular areas are
  usually only used in land measures (eg Circular Acres), but I have extended
  circular conversions to all other units because they are interesting/useful.
  Have you ever heard of "Circular Angstroms" or "Circular Light Years" ? Well
  now you have. Question: How many Angstrom cicles fit in a circular inch?
  (How many angels fit on the head of a pin?)
  
• Changed font of the Fraction fields to Arial Narrow so that very large numbers
  will display.
  
• Added more checks for NumberFormatException when entering decimal input. User
  can now paste an engineering format string from the ouput fields into the
  decimal input field. (The previous check for a negative number did not account
  for this. Eg. "4.57987982E-20" will work as intended).
  
• The program now compiles without any warnings, even when using -Xlint flag.

• Best results are obtained with Working Precision = 33 and Rounding Mode set
  set to HALF_UP. Change the Output Precision to suit your particular needs.
--------------------------------------------------------------------------------
1.6.7-alpha                                                 05 NOV 2025

• Redesigned Easter Egg in About Box with additional transparent cues showing
  the sacred geometry of the Great Pyramid.
--------------------------------------------------------------------------------
1.6.6j-alpha                                                04 NOV 2025

• Fixed the following Unit field input bugs:
   1. Backspace key deleted more than one digit.
   2. Old code did not account for new BigInteger input.
   3. Ensured that when the user pastes a large decimal number such as:
   3681284382560475441739397679495054472142197849936484927085425077.6609983475
   the fractional part is removed rather than just removing the decimal point.
   This is done when the user presses the Enter key after pasting the text.

• Fixed Denominator Actual output field bug where value did not show zero
  when the unit field contained digit(s) followed by a single decimal point.
--------------------------------------------------------------------------------
1.6.5-alpha                                                 04 NOV 2025

• More code improvements.

• New CFraction class, which uses BigInterger for Numerator and Denominator.
--------------------------------------------------------------------------------
1.6.4-alpha                                                 03 NOV 2025

• Added an Easter Egg on the About box.
--------------------------------------------------------------------------------
1.6.3-alpha                                                 01 NOV 2025

• Ensured that when the user changes the Working precision, the Inch to Meter
  ratios are recomputed.

• Added menu option to strip trailing zeros from results.

• Updated CFloatInput.java so that clipboard data can be pasted into the yellow
  decimal input field; press the enter key to recompute the pasted value. The
  Left and Right arrow keys now work in this field.

• Fixed an error where the Unit field was incorrectly set from a long value
  when updating from a large BigDecimal number in the Decimal field.

• Changed max size of the Unit and Decimal input fields so that inordinately
  large pasted numbers remain visible.

• Tidied code and checked conversions for accuracy.

I believe the program to be accurate. The example below uses a Working precision
of 30, and an Output precision of 12.

This gives an SI inch to meter ratio of 39.3700787401574803149606299210000:1.

My calculations for the number of Meter and Inches in a Light Year, are:

1 Light Year = 
9460730000000000.000000000000 Meters
372469685039370078.740157480315 Inches

Re-entering the Inch value into Resolver gives an exact conversion back to
Meters and Light Years, which implies (though does not necessarily guarantee),
that all the other displayed values for the number of feet, miles, rods, chains
etc in a Light Year are also correct, since all Resolver Length conversions use
computations to and from Inches.

Accuracy is also maintained converting the smaller units. The example below use
a Working precision of 30, and an Output precision of 20.

The number of Meters, Inches and Ångströms in 500 Light Years computes as:

500 Light Years = 
4730365000000000000.00000000000000000000 Meters
186234842519685039370.07874015748031496063 Inches
186234842519685039370.078740157481059900000000000000000
186234842519685039370.078740157481059900000000000000000
186234842519685039370.07874015625116500000
186234842519685039370.078740157481059900000000000000000
47303650000000000000000000000.00000000000000000000 Ångströms

Once again, re-entering the values for Inches back into the program gives an
exact conversion back to the original units:

186234842519685039370.07874015748031496063 Inches converted back gives:

47303650000000000000000000000.00000000000002000000 Ångströms
500.00000000000000000000 Light Years

Considering the difference in orders of magnitude, the result is nothing short
of astonishing: 1 Ångströms = 1.0E-10 Meters, and 1 Light Year = 9.46073E+15
Meters. This is obviously a testament to BigDecimal internals.

Resolver's value for the number of English statute miles in 1 Light Year is
computed as:

5878625079535.512606378748111031599113005050505
5878625079535.512606378748111031599113005050505
5878625079535.512606378748111031599113005050505

This calculation is based on a conversion factor of 1 day = 86,400 seconds,
which gives 1 Julian century = 36,525 days. (Astronomical Almanac 1995, page K6.
U.S. Gov Printing Office, Washington, DC, 1994).

REFERENCES: "Guide for the Use of the International System of Units (SI)"
Ambler Thompson Technology Services and Barry N. Taylor Physics Laboratory,
National Institute of Standards and Technology Gaithersburg, MD 20899.
(Supersedes NIST Special Publication 811, 1995 Edition, April 1995). March 2008.
--------------------------------------------------------------------------------
1.6.2-alpha                                                 31 OCT 2025

Redesigned form so that application window can be enlarged, and the components
resize accordingly. Various other tweaks to UI code.
--------------------------------------------------------------------------------
1.6-alpha                                                   30 OCT 2025

• Added Fermi, Ångströms, Lines, Palms, Astronomical Units, Light Years, Parsecs.

When converting very small quantities such as Fermi and Ångströms, please set
both the Output and Working precisions to their max values.

• Added option to change the inches per meter ratio to various predefined
 standards:

USA Bureau of Standards (1866)      = 39.37
Benoit 1894                         = 39.370113
Sears 1926                          = 39.370147
Clarke Legal                        = 39.370432
International System of Units (SI)  = 39.37007874015748031496062992126

The program defaults to International System of Units (SI) which should be
sufficient for most requirements. However, other standards have their uses...

For example, when wishing to convert "US Survey Feet" instead of "International
Feet", (for Feet, Miles, Chains, Links, etc.) you would select the option
"USA Bureau of Standards (1866)".

Section B6 of "Guide for the Use of the International System of Units (SI)"
explains the difference:

__START_QUOTE__
B.6 U.S. survey foot and mile
The U.S. Metric Law of 1866 gave the relationship 1 m = 39.37 in (in is the unit
symbol for the inch). From 1893 until 1959, the yard was defined as being
exactly equal to (3600/3937) m, and thus the foot was defined as being exactly
equal to (1200/3937) m.

In 1959 the definition of the yard was changed to bring the U.S. yard and the
yard used in other countries into agreement; see Ref. [7: FR 1959]. Since then
the yard has been defined as exactly equal to 0.9144 m, and thus the foot has
been defined as exactly equal to 0.3048 m. At the same time it was decided that
any data expressed in feet derived from geodetic surveys within the U.S. would
continue to bear the relationship as defined in 1893, namely:

1 ft = (1200/3937) m (ft is the unit symbol for the foot).

The name of this foot is “U.S. survey foot,” while the name of the new foot
defined in 1959 is “international foot.” The two are related to each other
through the expression 1 international foot = 0.999 998 U.S. survey foot exactly.
__END_QUOTE__
--------------------------------------------------------------------------------
1.5-alpha                                                   29 OCT 2025

Completely reworked code to port my C++ conversion utility from Geodesica-SFX.
This allows a plethora of conversion units (as listed above).

BigDecimal Quirks
This is the first program I have written using Java's BigDecimal class, so there
may be some irregularities in my code. In particular, when setting the scale,
I first used a MathContext in the BigDecimal constructor, eg:

MathContext = new MathContext(ms_iPrecisionWorking,ms_RoundingModeWorking);
BigDecimal bdResult = new BigDecimal("0.0", mc);

However, results were unsatisfactory. I have now opted for setScale instead:

BigDecimal bdResult = new BigDecimal("0.0");
bdResult.setScale(ms_iPrecisionWorking,ms_RoundingModeWorking);

But the above code does not change the object as expected, so the following is
necessary:

BigDecimal bdResult = new BigDecimal("0.0");
bdResult = bdResult.setScale(ms_iPrecisionWorking,ms_RoundingModeWorking);

Unfortunately, there is no BigDecimal constructor for both the scale and the
RoundingMode, at least, not as far as I'm aware.

I have used the US spelling for metre, millimetre, centimetre and kilometre.
--------------------------------------------------------------------------------
1.4-alpha                                                   27 OCT 2025

Changing the Inch Divisions spinner now recomputes the current fraction.

Added actual fraction fields (pink, non-editable) which show the actual
fraction when converting from decimal inches. The yellow fraction fields
still display the closest inch division fraction as set by user.

Included some reference table screenshots.
--------------------------------------------------------------------------------
1.3-alpha                                                   26 OCT 2025

User can now change both the working and output precision.
--------------------------------------------------------------------------------
1.2-alpha                                                   26 OCT 2025

Precision spinner now only changes the output precision.
All internal calculations are carried out at maximum precision.
Note: valid output precision range is 3 to 30.

You can change the inch divisions by using the spinner arrows or by typing a
value and pressing the Enter key.
--------------------------------------------------------------------------------
1.1-alpha                                                   25 OCT 2025

Fixed rounding error when entering decimal inches.
--------------------------------------------------------------------------------
Source: readme, updated 2025-11-09