Functional Weave
Code in Python

math.ln@1.0.1

vectors.json

957 bytes · view raw

[
  { "name": "ln 1 is exactly 0", "args": [1], "expect": 0 },
  { "name": "ln 2", "args": [2], "expect": 0.6931471805599453 },
  { "name": "ln 10", "args": [10], "expect": 2.302585092994046 },
  { "name": "ln e is 1", "args": [2.718281828459045], "expect": 1 },
  { "name": "ln 1/2 is -ln 2", "args": [0.5], "expect": -0.6931471805599453 },
  { "name": "ln 1.5, which sits just above the sqrt(2) split", "args": [1.5], "expect": 0.4054651081081644 },
  { "name": "a tiny value", "args": [1e-10], "expect": -23.025850929940457 },
  { "name": "a huge value", "args": [1e300], "expect": 690.7755278982137 },
  { "name": "the smallest positive double", "args": [5e-324], "expect": -744.4400719213812 },
  { "name": "zero is an error", "args": [0], "expectError": "ln is only defined for finite numbers greater than zero" },
  { "name": "a negative number is an error", "args": [-1], "expectError": "ln is only defined for finite numbers greater than zero" }
]