{'fraction_non_alphanumeric': 0.01643192488262911, 'fraction_numerical': 0.003129890453834116, 'mean_word_length': 5.239024390243903, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
EFSAT - An Exact and Efficient Triangle Intersection Test Hardware

Software implementations that test two triangles for intersection often favour speed over exact calculation. They leave it to the user to choose an exact or a fast test depending on the domain of application. Hardware implementations can not opt to make this distinction since users will always expect an accelerator hardware to be applicable in all possible settings. This paper introduces a novel approach towards exact intersection testing of triangles. It is based on the separating axes test and lends itself well to hardware implementation. To be integrable into a hierarchical collision detection design this test needs to be extremely resource efficient. Thus, it does not iterate until an exact solution is found, but instead categorises results as correct and possibly incorrect. It is implemented using 18-bit fixed-point numbers, while still maintaining resolutions that can keep up with double-precision floating-point implementations. The proposed test is integrated into a hierarchical collision detection FPGA-design accelerating collision queries by an order of magnitude. In a realistic benchmark less than 0.9% of possibly incorrect results are reported without impairing system performance.