// Algorithms
// www.scriptol.net

// Public domain functions
// I have not tested all formulas...
// Convert anything to anything

//  Length conversion functions

real  cmToInch(real x)        ;    return 0.3937 * x
real  inchToCm(real x)        ;    return 2.54 * x
real  inchToM(real x)        ;    return 0.0254 * x
real  inchToMM(real x)    ;    return 25.4 * x
real  kmToMile(real x)        ;    return 0.6214 * x
real  meterToInch(real x)    ;    return 39.37 * x
real  meterToYard(real x)    ;    return 1.093611 * x
real  mileToKm(real x)        ;    return 1.609 * x
real  mmToInch(real x)    ;    return 0.03937 * x
real  YardToMeter(real x)    ;    return 0.9144 * x
real  inchToFeet(real x)    ;    return x / 12.0
real  inchToYard(real x)    ;    return x / 36.0
real  inchToMile(real x)    ;    return x / 63360.0
real  feetToInch(real x)    ;    return 12.0 * x
real  feetToYard(real x)    ;    return x / 3.0
real  feetToMile(real x)    ;    return x / 5280.0
real  mileToInch(real x)    ;    return 63360.0 * x
real  mileToFeet(real x)    ;    return 5280.0 * x
real  mileToYard(real x)    ;    return 1760.0 * x

// Weight conversion functions

real  gToOz(real x)        ;    return 0.03527 * x
real  kgToLBS(real x)        ;    return 2.2046 * x
real  LBSToKg(real x)        ;    return 0.4545 * x
real  LBSToOz(real x)        ;    return 16.0 * x
real  ozToG(real x)        ;    return 28.3527 * x
real  ozToLBS(real x)        ;    return x / 16.0

// Liquid conversion functions

real  clToOz(real x)        ;    return 0.338 * x
real  mlToOz(real x)        ;    return 0.0338 * x
real  ozToCl(real x)        ;    return 2.95857988 * x
real  ozToMl(real x)        ;    return 29.5857 * x


real  kilogToUKGal(real x)    ;    return 211.344 * x
real  kilogToUSGal(real x)    ;    return 264.18 * x
real  LToUKGal(real x)        ;    return 0.2199 * x
real  LToUKQ(real x)        ;    return 0.945 * x
real  LToUSGal(real x)        ;    return 0.26455 * x
real  LToUSQ(real x)        ;    return 1.0582 * x
real  UKGal_Kl(real x)        ;    return 0.0047316 * x
real  UKGal_L(real x)        ;    return 4.546 * x
real  UKGal_USGal(real x)    ;    return 1.25 * x
real  UKQtoL(real x)        ;    return 1.0582 * x
real  UKQtoUSQ(real x)    ;    return 1.25 * x
real  UsGalToKl(real x)        ;    return 0.003785 * x
real  UsGalToL(real x)        ;    return 3.78 * x
real  UsGalToUKGal(real x)    ;    return 0.8 * x
real  USQtoL(real x)        ;    return 0.945 * x
real  USQtoUKQ(real x)    ;    return 0.8 * x

// Area conversion functions

real  cm2ToInch2(real x)    ;    return 0.155 * x
real  feet2ToMeter2(real x)    ;    return 0.0930 * x
real  inch2ToCm2(real x)    ;    return 6.4516 * x
real  inch2ToMm2(real x)    ;    return 645.161 * x
real  km2ToMile2(real x)    ;    return 0.386 * x
real  meter2ToFeet2(real x)    ;    return 10.75 * x
real  mile2ToKm2(real x)    ;    return 2.5906 * x
real  mm2ToInch2(real x)    ;    return 0.00155 * x

//  Volume conversion functions

real  cm3ToInch3(real x)        ;    return 0.061 * x
real  inch3ToC3(real x)        ;    return 16.3934 * x
real  inch3ToCm3(real x)        ;    return 16.3934 * x
real  km3ToMile3(real x)        ;    return 0.25 * x
real  meter3ToYard3(real x)        ;    return 1.308 * x
real  mileToKm3(real x)        ;    return 4.0 * x
real  yard3ToMeter3(real x)        ;    return 0.764526 * x