Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Forward to the Past: The Case for Uniformly Strict Floating Point Arithmetic on the JVM

Java via YouTube

Overview

Explore the evolution and intricacies of floating-point arithmetic in Java through this 47-minute conference talk. Delve into the history of Java's floating-point semantics, from its initial strict definition to subsequent modifications. Examine the interaction between Java's floating-point implementation and x86 architecture, and understand the rationale behind changes made in Java 2. Investigate the current state of floating-point arithmetic in Java and consider the case for returning to uniformly strict semantics. Learn about IEEE 754 floating-point encoding, rounding modes, and the complexities of floating-point calculations. Discover the impact of hardware design on language implementation, particularly focusing on the x87 floating-point instructions. Analyze code examples, including fused multiply-add operations, to grasp the practical implications of different floating-point semantic models. Gain insights into ongoing efforts to refine Java's approach to floating-point arithmetic, including JEP 306, which aims to restore always-strict floating-point semantics.

Syllabus

Intro
Overview
Specifications and semantics Java source code
The games of mathematics
Levels of floating point
Encoding and decoding IEEE 754 floating-point
Round to nearest even rounding mode, illustrated
Fun facts about floating-point arithmetic
Completing floating point arithmetic
Design of x87 floating point instructions, circa 1977
A potential problem or a real problem?
Toy example
Abbreviated & abridged history of Java FP Proposals
Features of default floating-point semantics
Complexity in semantics or code generation
JEP 306: Restore always strict floating point semantics
Example: fused multiply add (fma)

Taught by

Java

Reviews

Start your review of Forward to the Past: The Case for Uniformly Strict Floating Point Arithmetic on the JVM

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.