Floor64 Challenge
This is a extension of the RTL function Floor. The output datatype is
changed to Int64.
The objective is to build the fastest Floor function with Int64 output
datatype.
There are three overloaded functions differing in the input datatype.
function Floor64(const X: Single): Int64; overload;
function Floor64(const X: Double): Int64; overload;
function Floor64(const X: Extended): Int64; overload;
Validation and Benchmark Tool
Tables of results
Extended
Target |
Function |
Author |
P4
Northwood |
FloorExtendedJOH |
John O'Harrow |
P4
Prescott |
FloorExtendedJOH |
John O'Harrow |
Pentium
M |
FloorExtendedJOH |
John O'Harrow |
P3 |
FloorExtendedJOH |
John O'Harrow |
Athlon
XP |
FloorExtendedDKC1 |
Dennis Christensen |
Opteron |
FloorExtendedJOH |
John O'Harrow |
RTL
Suggestion |
FloorExtendedJOH |
John O'Harrow |
Pascal |
FloorExtendedDKCPas1 |
Dennis Christensen |
Blended |
FloorExtendedJOH |
John O'Harrow |
Double
Target |
Function |
Author |
P4
Northwood |
FloorDoubleJOH |
John O'Harrow |
P4
Prescott |
FloorDoubleJOH |
John O'Harrow |
Pentium
M |
FloorDoubleJOH |
John O'Harrow |
P3 |
FloorDoubleJOH |
John O'Harrow |
Athlon
XP |
FloorDoubleJOH |
John O'Harrow |
Opteron |
FloorDoubleDKC1 |
Dennis Christensen |
RTL
Suggestion |
FloorDoubleJOH |
John O'Harrow |
Pascal |
FloorDoubleDKCPas1 |
Dennis Christensen |
Blended |
FloorDoubleJOH |
John O'Harrow |
Single
Target |
Function |
Author |
P4
Northwood |
FloorSingleDKC1 |
Dennis Christensen |
P4
Prescott |
FloorSingleDKC1 |
Dennis Christensen |
Pentium
M |
FloorSingleJOH |
John O'Harrow |
P3 |
FloorSingleJOH |
John O'Harrow |
Athlon
XP |
FloorSingleDKC1 |
Dennis Christensen |
Opteron |
FloorSingleDKC1 |
Dennis Christensen |
RTL
Suggestion |
FloorSingleJOH |
John O'Harrow |
Pascal |
FloorSingleDKC1 |
Dennis Christensen |
Blended |
FloorSingleJOH |
John O'Harrow |