Functional Weave
Code in Rust

math.sin-cos@1.0.1

vectors.json

1,182 bytes · view raw

[
  { "name": "zero", "args": [0], "expect": { "sin": 0, "cos": 1 } },
  { "name": "30 degrees", "args": [0.5235987755982988], "expect": { "sin": 0.5, "cos": 0.8660254037844387 } },
  { "name": "90 degrees: cos is a rounding residue, not exactly 0", "args": [1.5707963267948966], "expect": { "sin": 1, "cos": 6.123233995736766e-17 } },
  { "name": "180 degrees", "args": [3.141592653589793], "expect": { "sin": 1.2246467991473532e-16, "cos": -1 } },
  { "name": "-45 degrees", "args": [-0.7853981633974483], "expect": { "sin": -0.7071067811865475, "cos": 0.7071067811865476 } },
  { "name": "-270 degrees", "args": [-4.71238898038469], "expect": { "sin": 1, "cos": -1.8369701987210297e-16 } },
  { "name": "one radian", "args": [1], "expect": { "sin": 0.8414709848078965, "cos": 0.5403023058681398 } },
  { "name": "a large angle", "args": [1000], "expect": { "sin": 0.8268795405320025, "cos": 0.562379076290703 } },
  { "name": "near the limit", "args": [999999], "expect": { "sin": -0.9773520315382229, "cos": 0.21161995758460128 } },
  { "name": "beyond the limit is an error", "args": [1000001], "expectError": "radians must be a finite number between -1000000 and 1000000" }
]