mesa/src/util
Samuel Iglesias Gonsálvez 5308333e78 util: add fp64 -> fp32 conversion support for RTNE and RTZ rounding modes
In order to be coherent with the pre-existent API for half floats,
this new API for double is the one meant to be used when doing double
to float conversions. It is no more than a wrapper for the softfloat.h
API but we meant to keep that one private.

v2:
- Fix bug in _mesa_double_to_float_rtz() in the inf/nan detection
  using the exponent value.

v3:
- Replace custom f64 -> f32 implementations with the softfloat
  one (Andres).

v4:
- Added API usage clarifying comments (Caio).

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
2019-09-17 23:39:18 +03:00
..
sha1 util: Fix SHA1 implementation on big endian 2017-11-25 12:30:46 -08:00
tests Fix timespec_from_nsec test for 32-bit time_t 2019-09-17 12:17:53 -04:00
xmlpool vulkan: add vk_x11_strict_image_count option 2019-09-15 15:37:02 +03:00
00-mesa-defaults.conf drirc: include unreal engine version 0 to 23 2019-09-16 21:47:21 +03:00
Android.mk android: fix linking issues with liblog 2019-09-07 13:16:29 +03:00
anon_file.c util: fix os_create_anonymous_file on android 2019-08-22 08:27:43 +03:00
anon_file.h util/anon_file: const string param 2019-08-08 22:02:54 +01:00
bigmath.h util: Add a simple big math library 2018-10-10 13:13:12 -05:00
bitscan.c util: only allow _BitScanReverse64 on 64-bit cpus 2019-09-02 12:45:45 +00:00
bitscan.h util: only allow _BitScanReverse64 on 64-bit cpus 2019-09-02 12:45:45 +00:00
bitset.h util/bitset: fix bitset range mask calculations. 2019-05-03 15:23:04 +10:00
bitset_test.cpp util/tests: add basic unit tests for bitset 2019-05-03 15:23:04 +10:00
build_id.c util/macros: Import ALIGN_POT from ralloc.c 2018-07-02 12:09:14 -07:00
build_id.h util: add missing include to build_id.h 2019-05-20 10:24:23 +10:00
crc32.c util: use faster zlib's CRC32 implementaion 2018-01-14 19:10:33 +02:00
crc32.h
dag.c util: Add a DAG datastructure. 2019-03-11 13:13:52 -07:00
dag.h util: Add a DAG datastructure. 2019-03-11 13:13:52 -07:00
debug.c win32: unify strcasecmp definitions 2019-08-15 20:23:44 +02:00
debug.h nir: check NIR_SKIP to skip passes by name 2019-01-18 12:31:49 -08:00
detect_os.h util: introduce detect_os.h 2019-08-02 18:38:52 +01:00
disk_cache.c include: update GL headers from the registry 2019-06-21 19:00:52 -04:00
disk_cache.h util: Change remaining uint32 cache ids to sha1 2018-10-26 14:49:22 +11:00
double.c util: add fp64 -> fp32 conversion support for RTNE and RTZ rounding modes 2019-09-17 23:39:18 +03:00
double.h util: add fp64 -> fp32 conversion support for RTNE and RTZ rounding modes 2019-09-17 23:39:18 +03:00
fast_idiv_by_const.c util: Add power-of-two divisor support to compute_fast_udiv_info 2018-10-10 13:13:12 -05:00
fast_idiv_by_const.h util: document a limitation of util_fast_udiv32 2018-10-17 12:27:58 -04:00
fast_urem_by_const.h util: Add a helper for faster remainders 2019-05-31 19:14:27 +02:00
format_r11g11b10f.h
format_rgb9e5.h
format_srgb.h util/srgb: Add a float sRGB -> linear helper 2018-04-24 13:41:14 -07:00
format_srgb.py python: Use the print function 2018-07-06 10:04:22 -07:00
futex.h util/futex: fix dangling pointer use 2019-06-12 17:27:44 +01:00
half_float.c util: add float to float16 conversions with RTZ and RTNE 2019-09-17 23:39:18 +03:00
half_float.h util: add float to float16 conversions with RTZ and RTNE 2019-09-17 23:39:18 +03:00
hash_table.c util/hash_table: Fix hashing in clears on 32-bit 2019-08-08 07:42:52 +02:00
hash_table.h i965: Fix INTEL_DEBUG=bat 2019-06-12 15:57:16 -07:00
list.h list: add some iterator debug 2019-05-30 22:11:26 +00:00
macros.h util: Add unreachable() definition for clang compiler. 2019-08-30 05:50:21 +00:00
Makefile.sources util: add fp64 -> fp32 conversion support for RTNE and RTZ rounding modes 2019-09-17 23:39:18 +03:00
merge_driinfo.py radeonsi: add si_debug_options for convenient adding/removing of options 2019-04-25 12:31:02 +02:00
mesa-sha1.c
mesa-sha1.h
mesa-sha1_test.c util: Add a SHA1 unit test program 2017-11-25 12:30:46 -08:00
meson.build util: add fp64 -> fp32 conversion support for RTNE and RTZ rounding modes 2019-09-17 23:39:18 +03:00
os_file.c util/os_file: fix double-close() 2019-09-04 00:11:51 +01:00
os_file.h util: add os_file_create_unique() 2019-06-28 23:37:49 +01:00
os_memory.h util/os_memory: use detect_os.h to uncouple it from gallium 2019-08-02 18:38:52 +01:00
os_memory_aligned.h util/os_memory: use detect_os.h to uncouple it from gallium 2019-08-02 18:38:52 +01:00
os_memory_debug.h util/os_memory: use detect_os.h to uncouple it from gallium 2019-08-02 18:38:52 +01:00
os_memory_stdc.h util/os_memory: use detect_os.h to uncouple it from gallium 2019-08-02 18:38:52 +01:00
os_misc.c util: android logging support 2019-09-06 00:45:11 +00:00
os_misc.h util: os_misc: drop p_compiler.h include 2019-08-09 22:59:43 +03:00
os_time.c util/os_time: use detect_os.h to uncouple from gallium 2019-08-02 18:38:52 +01:00
os_time.h util: move os_time.[ch] to src/util 2017-11-09 11:57:21 +01:00
ralloc.c util/ralloc: Add helpers for growing zero-initialized memory 2019-05-14 12:30:22 -05:00
ralloc.h util/ralloc: Add helpers for growing zero-initialized memory 2019-05-14 12:30:22 -05:00
rand_xor.c util/rand_xor: add missing include statements 2017-06-01 14:26:12 +01:00
rand_xor.h
rb_tree.c util: rb-tree: A simple, invasive, red-black tree 2018-07-05 11:57:45 +01:00
rb_tree.h util: rb_tree: add safe iterators 2018-08-22 17:49:36 +01:00
register_allocate.c util/ra: Add a getter for a node class 2019-07-25 06:14:12 -07:00
register_allocate.h util/ra: Add a getter for a node class 2019-07-25 06:14:12 -07:00
rgtc.c
rgtc.h
roundeven_test.c
rounding.h util: do not assume MSVC implies SSE 2019-09-02 12:45:45 +00:00
SConscript util: scons: wire up the sha1 test 2017-12-15 19:01:12 +00:00
set.c util/set: Assert that keys are not reserved pointers 2019-06-06 00:27:53 +00:00
set.h util/set: Use fast modulo computation 2019-05-31 19:14:30 +02:00
simple_list.h
simple_mtx.h tree-wide: replace MAYBE_UNUSED with ASSERTED 2019-07-31 09:41:05 +01:00
slab.c Change a few frequented uses of DEBUG to !NDEBUG 2019-05-29 21:13:35 -04:00
slab.h util/slab: Rename slab_mempool typed parameters to mempool 2018-12-14 07:36:05 -08:00
softfloat.c util: add softfloat functions to operate with doubles and floats 2019-09-17 23:39:18 +03:00
softfloat.h util: add softfloat functions to operate with doubles and floats 2019-09-17 23:39:18 +03:00
string_buffer.c util: use standard name for vsnprintf() 2019-07-19 22:39:38 +01:00
string_buffer.h util: Add a string buffer implementation 2017-09-26 18:24:33 +02:00
strndup.h
strtod.c util: improve compiler guard 2017-09-03 09:05:23 +01:00
strtod.h
texcompress_rgtc_tmp.h
timespec.h util/timespec: use unsigned 64 bit integers for nsec values 2019-08-22 09:35:57 +02:00
u_atomic.c util/u_atomic: remove unnecessaty __atomic functions 2017-09-22 17:12:24 +03:00
u_atomic.h util/u_atomic: add p_atomic_xchg 2017-11-09 11:37:30 +01:00
u_atomic_test.c
u_cpu_detect.c util: add auxv based PowerPC AltiVec/VSX detection 2019-08-27 14:55:37 -07:00
u_cpu_detect.h util: drop final reference to p_compiler.h 2019-08-09 22:59:43 +03:00
u_debug.c util: drop final reference to p_compiler.h 2019-08-09 22:59:43 +03:00
u_debug.h util: drop final reference to p_compiler.h 2019-08-09 22:59:43 +03:00
u_drm.h util: Add a drm_find_modifier helper 2019-03-14 22:41:08 +00:00
u_dynarray.h u_dynarray: turn util_dynarray_{grow, resize} into element-oriented macros 2019-06-12 18:30:25 -04:00
u_endian.h meson/configure: detect endian.h instead of trying to guess when it's available 2018-03-23 11:44:21 +00:00
u_math.c util: u_math: drop p_compiler.h include 2019-08-09 22:59:43 +03:00
u_math.h util: include u_endian.h in u_math.h 2019-09-06 19:52:50 +00:00
u_memory.h util: promote u_memory to src/util 2018-11-27 15:44:02 -05:00
u_process.c util: fix mem leak of program path 2019-08-07 08:42:42 +01:00
u_process.h util: move process.[ch] to u_process.[ch] 2018-08-01 12:47:16 -07:00
u_queue.c util: fix compilation on macos 2019-08-23 23:45:25 +03:00
u_queue.h util/queue: add util_queue_adjust_num_threads 2019-04-01 12:37:52 -04:00
u_string.h util: Define strchrnul on macOS. 2019-08-31 13:26:10 -07:00
u_thread.h util: Cygwin has linux-style pthread_setname_np 2019-08-09 12:46:43 +00:00
u_vector.c util: Use util_is_power_of_two_nonzero in u_vector 2018-03-29 14:09:28 -07:00
u_vector.h util: fix no-op macro (bad number of arguments) 2019-07-24 09:13:58 +01:00
vma.c util: Add a virtual memory allocator 2018-05-31 16:17:35 -07:00
vma.h util: Add a virtual memory allocator 2018-05-31 16:17:35 -07:00
xmlconfig.c util/xmlconfig: fix regexp compile failure check 2019-09-16 21:47:21 +03:00
xmlconfig.h driconfig: add a new engine name/version parameter 2019-09-15 15:37:02 +03:00
xmlpool.h driinfo: add DTD to allow the xml to be validated 2019-02-26 12:48:28 +00:00