I have always read strictfp restricts floating point calculations to IEEE-754 standard, but never read why their came the need for restricting the calculation's result according to this standard?
1
There are 1 best solutions below
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in MODIFIER
- How to assign a value to a string variable, that includes embedded '=' in the value
- php regex multiple modifiers
- How to make .draggable() work with click+drag rather than long-press+drag?
- fraction in fillMaxHeight inside a column not work(android jetpack compose)
- Click accepting everywhere on a section to open and close section
- In SwiftUI recurring Stacks simplifying
- Update SwiftUI Slider with EnvironmentObject
- zero assignment to signed integer in C++
- How to handle this error in C# "Required Member must be set in object initiialzer or attribute constructor"
- getting error @Composable invocations can only happen from the context of a @Composable function | composable inside pointerInput
- Re-enable button based on date in SwiftUI
- Trouble scaling basic Image in Compose
- How to update the text values based on button click in Swift
- macOS 13 - How do you create a Message.App Settings toolbar using SwiftUI?
- How can I use gdk_keymap_translate_keyboard_state to get the keysym for a key without modifier?
Related Questions in STRICTFP
- Example of Code with and without strictfp Modifier
- Is there still a difference between Math and StrictMath after Java 17 and JEP 306?
- what replaced strictfp in java?
- Java class declared with strictfp modifier fails test with Modifier.isStrict(int)
- How can we use the strictfp method in a real life pogram?
- Why does the Oracle JDK Javadoc not include the strict floating point modifier?
- Unit of least precision without strictfp
- Does Java's strictfp modifier apply through function calls?
- strictpf in Android from Java Compiler
- Is it possible to get different results if I use strictfp using docker installed on different OS?
- Should I use `strictfp` modifier when converting `float` to `double`?
- Why strictfp came into existence?
- Behavior of strictfp keyword with implementing/extending an interface/class
- Strictfp returns different results on different systems
- Does code becomes non - compliant in someway if strictfp not used?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
when java was being developed by james gosling and his team, platform independency was the priority. They wanted to make oak(Java) so much better that it would run exactly same on any machine having different instruction set, even running different operating systems. But their was a problem with floating point arithmetic i.e when it came to calculation of float or double values, the arithmetic result was different on different machines (32/64 bit processor architecture) due to the precision. As some processor were built targeting efficiency(fast computation)like pentium processors of that time, while rest were targeting accuracy (accurate results) like older processors of that time.
Since processor strugling for fast computation rounded up precision values but other processor didn't, and thus the result was slightly different. And this difference was against the java slogan of WORA. Thus Java people came with the modifier strictfp which restricted the result of the floating point arithmetic to IEEE-754 standard.
Strictfp ensures that we get exactly the same results from our floating point calculations on every platform. If we don't use strictfp, the JVM implementation is free to use extra precision where available. The implication is that if we don't specify strictfp, then the JVM and JIT compiler have license to compute our floating-point calculations however they want. In the interest of speed, they will most likely delegate the computation to our processor. But With strictfp on, the computations have to conform to IEEE 754 arithmetic standards, which, in practice, probably means that the JVM will do the computation, making it possible to get the same result for floating point arithmetic on any machine.