I am presently translating some code from C++ to Javascript and it involves quite a few floating point calculations. The program uses several built-in machine constants to help it quantify and limit computer round-off error. For example, it includes the constants DBL_MIN and DBL_EPSILON from the <cfloat> library within C++.

I am now wondering: does Javascript offer these constants as built-in values too? I suppose I could calculate them myself, by brute force, but if these values are already available, it would help me keep the Javascript version shorter.

Does Javascript provide built-in, comparable values for DBL_MIN and DBL_EPSILON? (If so, how do I access them?)



9 Years
Discussion Span
Last Post by MidiMagic

You can always peek into the header files of the compiler you are using to find out the value of those in-built constants and put the same in a JS file and include that file.

Something like:

// Vars.js
var DB_EPSILON = 0.00000000123
var DB_MIN = 0.125
  <script src="Vars.js"></script>
<!-- code -->

If you want to know the actual minimum value of the smallest value the current running JavaScript can actually use, it will tell you.

Use: Number.MIN_VALUE JS provides the following constants: Number.MIN_VALUE :
The smallest positive value which can be stored. It is close to 5E-324 Number.MAX_VALUE :
The largest positive value which can be stored. It is close to 1.79E+308 Number.NEGATIVE_INFINITY :
Returns the internal representation for negative infinity Number.POSITIVE_INFINITY :
Returns the internal representation for positive infinity Math.E :
Returns the natural base. Math.LN10 :
Returns the natural log of 10. Math.LN2 :
Returns the natural log of 2. Math.LOG10E :
Returns the common log of the natural base. Math.LOG2E :
Returns the binary-base log of the natural base. Math.PI :
Returns the value of pi. Math.SQRT1_2 :
Returns the square root of one half. Math.SQRT2 :
Returns the sqiare root of 2.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.