Skip to content

Instantly share code, notes, and snippets.

@mikeobrien
Created December 6, 2010 03:45
Show Gist options
  • Save mikeobrien/729814 to your computer and use it in GitHub Desktop.
Save mikeobrien/729814 to your computer and use it in GitHub Desktop.
module Photon
[<Measure>]
type m // meter
[<Measure>]
type s // second
[<Measure>]
type J // Joule
let h = 6.62606896e-34<J/s>
let c = 2.99792458e8<m/s>
let EnergyByWavelength lambda multiplier = (h * c) / (lambda * multiplier)
let EnergyByFrequency (nu, multiplier) = h * (nu * multiplier)
namespace Math
type Photon =
member x.h = 6.62606896e-34
member x.c = 2.99792458e8
member x.EnergyByWavelength lambda multiplier = (x.h * x.c) / (lambda * multiplier)
member x.EnergyByFrequency (nu, multiplier) = x.h * (nu * multiplier)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment