Skip to content

Instantly share code, notes, and snippets.

@MiyamonY
Created February 26, 2015 06:14
Show Gist options
  • Save MiyamonY/abed78b99c57a4dd33a9 to your computer and use it in GitHub Desktop.
Save MiyamonY/abed78b99c57a4dd33a9 to your computer and use it in GitHub Desktop.
module Geometry
( sphereVolume,
sphereArea,
cubeVolume,
cubeArea,
cuboidArea,
cuboidVolume) where
sphereVolume :: Float -> Float
sphereVolume radius = (4.0 / 3.0) * pi * (radius ^ 3)
sphereArea :: Float -> Float
sphereArea radius = pi * (radius ^ 2)
cubeVolume :: Float -> Float
cubeVolume side = cuboidVolume side side side
cubeArea :: Float -> Float
cubeArea side = cuboidArea side side side
cuboidVolume :: Float -> Float -> Float -> Float
cuboidVolume a b c = rectArea a b * c
cuboidArea :: Float -> Float -> Float -> Float
cuboidArea a b c = rectArea a b * 2 + rectArea a c * 2 + rectArea c b * 2
rectArea :: Float -> Float -> Float
rectArea a b = a * b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment