Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. import math from "./math.min.js"
  2.  
  3. math.config({number:"BigNumber"})
  4.  
  5. var customFunctions = {
  6. customDivision: (left, right) => {
  7. if (right == 0)
  8. {
  9. if(left == 0)
  10. throw "ZeroByZero"
  11. else if (left > 0)
  12. throw "PlusInfinity"
  13. else
  14. throw "MinusInfinity"
  15. }
  16. return math.divide(left,right);
  17. }
  18. };
  19.  
  20. math.import(customFunctions);
  21.  
  22. var y = math.parse("-1/0");
  23.  
  24. y = y.transform(function (node, path, parent) {
  25. if (node.isOperatorNode && node.op === '/') {
  26. return new math.expression.node.FunctionNode(
  27. new math.expression.node.SymbolNode('customDivision'),
  28. node.args);
  29. }
  30. else {
  31. return node;
  32. }
  33. })
  34.  
  35. var r;
  36. try{
  37. r = y.eval().toString();
  38. }
  39. catch(e) {
  40. r = e;
  41. }
  42. r
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement