Giter Club home page Giter Club logo

Comments (3)

vallsv avatar vallsv commented on September 24, 2024

BTW, if you like the idea, i can maybe try to do a PR. Tell me.

from js-quantities.

glepretre avatar glepretre commented on September 24, 2024

I'm not sure to understand your use case? You would prefer to see NaN or Infinity rather than an error? 🤔

Even if it's not by design, I think it's better for js-quantities to refuse NaN or Inifinity as quantities scalar. These cases are more likely to be a bug rather than a feature for users.

from js-quantities.

vallsv avatar vallsv commented on September 24, 2024

Exactly, i would like to have NaN and infinity, because that's float values like any others. Javascript already handle this cases with rules which are part of standards, that's the principle of least astonishment.

I am not really sure people are aware that operators could throw such exceptions, because it doesn't behave like javascript. But i understand your point. I am working on scientific software stack, i have to deal with such possibilities. But it's probably not a common use case.

BTW I did play a bit to see how it behave in some side corners. I was able to trick with unitless quantities. Maybe there is some cases you would like to fix anyway (tested with version 1.7.6).

  const big = new Qty(1e200);
  const inf = big.mul(big);
  console.log(`${inf}`);                  // this logs "Infinity"

  // console.log(`${zero.div(zero)}`);    // throw division by zero

  const nan = inf.sub(inf);
  console.log(`${nan}`);                  // this logs "NaN"

  const mm = new Qty(1e200, 'mm');
  const s = new Qty(1e200, 's');
  // console.log(`${mm.mul(s)}`);         // throw other.isTemperature is not a function

from js-quantities.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.