Age | Commit message (Collapse) | Author | Files | Lines |
|
The existing implementation used the reciprocal for the calculations,
without windowing out denormals.
Fixes #62
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/169>
|
|
As per https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html, the correct
macro to be used is `__asm__`. While at it, also ensure that Clang is
recognised with the correct macro.
Fixes #59
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/159>
|
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/111>
|
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/135>
|
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/116>
|
|
This enables dumping the OrcCode prior to it running, in case it's
the running itself that causes a crash (due to miscodegen, unaligned
or OOB I/O...).
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/116>
|
|
for accumulators
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/116>
|
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/116>
|
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/114>
|
|
The flags passed in here are the orc test flags and not the target flags.
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/103>
|
|
Follow-up from ae14127e7131e5d7e747abf3f5988f8057c8ad48
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/85>
|
|
Set the FPCR.FZ bit before running tests using ARM NEON,
in order to make tests pass for most opcodes.
Add a way to check for expected failures in the test suite,
since ARM NEON does not comply to IEEE754.
Errors are expected when using divf (resp. sqrtf) on large
(resp. small) numbers.
Fixes #33, #20
Signed-off-by: Gaetan Bahl <gaetan.bahl@nxp.com>
|
|
Fixes the following warning:
WARNING: extract_all_objects called without setting recursive
keyword argument. Meson currently defaults to
non-recursive to maintain backward compatibility but
the default will be changed in the future.
orc-test\meson.build:16:0: ERROR: Fatal warnings enabled, aborting
|
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/49>
|
|
|
|
|
|
|
|
../subprojects/orc/orc-test/orcarray.c:230:47: error: taking the absolute value of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]
if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint32 *)&a[i] - *(orc_uint32 *)&b[i]) <= 2) continue;
^
../subprojects/orc/orc-test/orcarray.c:230:47: note: remove the call to 'abs' since unsigned values cannot be negative
if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint32 *)&a[i] - *(orc_uint32 *)&b[i]) <= 2) continue;
^~~
../subprojects/orc/orc-test/orcarray.c:247:47: error: taking the absolute value of unsigned type 'unsigned long' has no effect [-Werror,-Wabsolute-value]
if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint64 *)&a[i] - *(orc_uint64 *)&b[i]) <= 2) continue;
^
../subprojects/orc/orc-test/orcarray.c:247:47: note: remove the call to 'abs' since unsigned values cannot be negative
if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint64 *)&a[i] - *(orc_uint64 *)&b[i]) <= 2) continue;
^~~
../subprojects/orc/orc-test/orctest.c:525:63: error: taking the absolute value of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]
if ((*(float *)ptr1 < 0.0) == (*(float *)ptr2 < 0.0) && abs(*(orc_uint32 *)ptr1 - *(orc_uint32 *)ptr2) <= 2) return TRUE;
^
../subprojects/orc/orc-test/orctest.c:525:63: note: remove the call to 'abs' since unsigned values cannot be negative
if ((*(float *)ptr1 < 0.0) == (*(float *)ptr2 < 0.0) && abs(*(orc_uint32 *)ptr1 - *(orc_uint32 *)ptr2) <= 2) return TRUE;
^~~
../subprojects/orc/orc-test/orctest.c:530:65: error: taking the absolute value of unsigned type 'unsigned long' has no effect [-Werror,-Wabsolute-value]
if ((*(double *)ptr1 < 0.0) == (*(double *)ptr2 < 0.0) && abs(*(orc_uint64 *)ptr1 - *(orc_uint64 *)ptr2) <= 2) return TRUE;
^
../subprojects/orc/orc-test/orctest.c:530:65: note: remove the call to 'abs' since unsigned values cannot be negative
if ((*(double *)ptr1 < 0.0) == (*(double *)ptr2 < 0.0) && abs(*(orc_uint64 *)ptr1 - *(orc_uint64 *)ptr2) <= 2) return TRUE;
^~~
|
|
|
|
|
|
Fixes #16
|
|
Need to use the correct dylib versioning.
|
|
The isnan() macro was redefined to _isnan() on MSVC, but it's
been in math.h since vs2013, so it should be safe to rely on
it unconditionally nowadays, and we have no intention of
supporting ancient vs versions anyway.
|
|
We were writing more than 300 characters in some cases. Thanks gcc
8 for pointing that out :)
|
|
All symbols are hidden by default unless exported
explicitly via our public API decorators.
|
|
Use newly-added ORC_API decorators to export symbols explicitly.
Get rid of orc.map file and the ORC_EXPORT stuff that never did
anything anyway (define was unused).
|
|
We'll use that later to control symbol visibility and
exported symbols.
|
|
This reuses objects from the shared library for the static library, so
it should not affect the build time at all.
orc_dep and orc_test_dep will still contain the library selected by
--default-library
|
|
|
|
Before only a shared library was possible
|
|
Includes contributions from Nirbheek Chauhan <nirbheek@centricular.com>
|
|
orctest.c:730:19: error: logical not is only applied to the left hand side of this comparison
if (!float_compare (dest_emul[l-ORC_VAR_D1], dest_exec[l-ORC_VAR_D1], i, j) != 0) {
It seems some sort of typo. Fixing by removing the potentially leftover condition.
|
|
Same as commit 8bc018cbbe25521f91ecba0fc98185d2eaac650d
CID #1146994
CID #1146995
|
|
Conditions should never happen but protect against going out of bounds in the
args array.
CID #1146993
|
|
Fixes these warnings on windows x86_64:
orcarray.c:80:33: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
orcarray.c:80:22: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
|
|
|
|
orcarray.c:254:15: error: using integer absolute value function 'abs' when
argument is of floating point type [-Werror,-Wabsolute-value]
if (abs(a[i] - b[i]) < MIN_NONDENORMAL_D) continue;
|
|
In file included from ../orc/orcprogram.h:5:0,
from ../orc/orc.h:5,
from ../orc-test/orctest.h:5,
from orcarray.c:6:
../orc/orcutils.h:124:37: error: 'data' may be used uninitialized in this function [-Werror=maybe-uninitialized]
#define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
^
orcarray.c:42:9: note: 'data' was declared here
void *data;
|
|
Use /* */ instead of //
Define _GNU_SOURCE in the ORC_CFLAGS
|
|
|
|
Separate allocated data and aligned data.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|