added updated version of simdmathlibrary-1.0.1
This commit is contained in:
@@ -1,28 +0,0 @@
|
|||||||
/* SIMD math library functions for both the PowerPC (PPU) and the SPU.
|
|
||||||
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms,
|
|
||||||
with or without modification, are permitted provided that the
|
|
||||||
following conditions are met:
|
|
||||||
* Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
|
||||||
of its contributors may be used to endorse or promote products derived
|
|
||||||
from this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
@@ -32,15 +32,21 @@
|
|||||||
#
|
#
|
||||||
# make ARCH_PPU=32
|
# make ARCH_PPU=32
|
||||||
#
|
#
|
||||||
# To use "gcc" instead of "ppu-gcc".
|
# To build 64 bit libraries:
|
||||||
#
|
#
|
||||||
# make CROSS_PPU=
|
# make ARCH_PPU=64
|
||||||
|
#
|
||||||
|
# To use "ppu-gcc" instead of "gcc".
|
||||||
|
#
|
||||||
|
# make CROSS_PPU=ppu-
|
||||||
|
|
||||||
prefix = /usr
|
prefix = /usr
|
||||||
|
prefix_ppu = $(prefix)
|
||||||
|
prefix_spu = $(prefix)/spu
|
||||||
DESTDIR =
|
DESTDIR =
|
||||||
|
|
||||||
ARCH_PPU = 64
|
ARCH_PPU = 32
|
||||||
CROSS_PPU = ppu-
|
CROSS_PPU =
|
||||||
AR_PPU = $(CROSS_PPU)ar
|
AR_PPU = $(CROSS_PPU)ar
|
||||||
CC_PPU = $(CROSS_PPU)gcc
|
CC_PPU = $(CROSS_PPU)gcc
|
||||||
CXX_PPU = $(CROSS_PPU)g++
|
CXX_PPU = $(CROSS_PPU)g++
|
||||||
@@ -60,9 +66,12 @@ INSTALL = install
|
|||||||
|
|
||||||
MAKE_DEFS = \
|
MAKE_DEFS = \
|
||||||
prefix='$(prefix)' \
|
prefix='$(prefix)' \
|
||||||
|
prefix_ppu='$(prefix_ppu)' \
|
||||||
|
prefix_spu='$(prefix_spu)' \
|
||||||
DESTDIR='$(DESTDIR)' \
|
DESTDIR='$(DESTDIR)' \
|
||||||
LIB_MAJOR_VERSION='$(LIB_MAJOR_VERSION)' \
|
LIB_MAJOR_VERSION='$(LIB_MAJOR_VERSION)' \
|
||||||
LIB_MINOR_VERSION='$(LIB_MINOR_VERSION)' \
|
LIB_MINOR_VERSION='$(LIB_MINOR_VERSION)' \
|
||||||
|
LIB_RELEASE='$(LIB_RELEASE)' \
|
||||||
LIB_BASE='$(LIB_BASE)' \
|
LIB_BASE='$(LIB_BASE)' \
|
||||||
LIB_NAME='$(LIB_NAME)' \
|
LIB_NAME='$(LIB_NAME)' \
|
||||||
STATIC_LIB='$(STATIC_LIB)' \
|
STATIC_LIB='$(STATIC_LIB)' \
|
||||||
@@ -85,12 +94,17 @@ MAKE_DEFS = \
|
|||||||
|
|
||||||
LIB_MAJOR_VERSION = 1
|
LIB_MAJOR_VERSION = 1
|
||||||
LIB_MINOR_VERSION = 0
|
LIB_MINOR_VERSION = 0
|
||||||
|
LIB_RELEASE = 1
|
||||||
|
LIB_FULL_VERSION = $(LIB_MAJOR_VERSION).$(LIB_MINOR_VERSION).$(LIB_RELEASE)
|
||||||
|
|
||||||
LIB_BASE = simdmath
|
LIB_BASE = simdmath
|
||||||
LIB_NAME = lib$(LIB_BASE)
|
LIB_NAME = lib$(LIB_BASE)
|
||||||
STATIC_LIB = $(LIB_NAME).a
|
STATIC_LIB = $(LIB_NAME).a
|
||||||
SHARED_LIB = $(LIB_NAME).so
|
SHARED_LIB = $(LIB_NAME).so
|
||||||
|
|
||||||
|
TAR_NAME = $(LIB_BASE)-$(LIB_FULL_VERSION)
|
||||||
|
TAR_BALL = $(TAR_NAME).tar.gz
|
||||||
|
|
||||||
all: spu_library ppu_library
|
all: spu_library ppu_library
|
||||||
|
|
||||||
spu_library:
|
spu_library:
|
||||||
@@ -99,7 +113,10 @@ spu_library:
|
|||||||
ppu_library:
|
ppu_library:
|
||||||
cd ppu; $(MAKE) $(MAKE_DEFS)
|
cd ppu; $(MAKE) $(MAKE_DEFS)
|
||||||
|
|
||||||
install: spu_install ppu_install
|
install: common_install spu_install ppu_install
|
||||||
|
|
||||||
|
common_install:
|
||||||
|
cd common; $(MAKE) $(MAKE_DEFS) install
|
||||||
|
|
||||||
spu_install:
|
spu_install:
|
||||||
cd spu; $(MAKE) $(MAKE_DEFS) install
|
cd spu; $(MAKE) $(MAKE_DEFS) install
|
||||||
@@ -108,8 +125,10 @@ ppu_install:
|
|||||||
cd ppu; $(MAKE) $(MAKE_DEFS) install
|
cd ppu; $(MAKE) $(MAKE_DEFS) install
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
cd common; $(MAKE) $(MAKE_DEFS) clean
|
||||||
cd spu; $(MAKE) $(MAKE_DEFS) clean
|
cd spu; $(MAKE) $(MAKE_DEFS) clean
|
||||||
cd ppu; $(MAKE) $(MAKE_DEFS) clean
|
cd ppu; $(MAKE) $(MAKE_DEFS) clean
|
||||||
|
-rm -rf $(TAR_BALL) .dist
|
||||||
|
|
||||||
check: check_ppu check_spu
|
check: check_ppu check_spu
|
||||||
|
|
||||||
@@ -118,3 +137,14 @@ check_ppu:
|
|||||||
|
|
||||||
check_spu:
|
check_spu:
|
||||||
cd spu; $(MAKE) $(MAKE_DEFS) check
|
cd spu; $(MAKE) $(MAKE_DEFS) check
|
||||||
|
|
||||||
|
dist:
|
||||||
|
-rm -rf .dist
|
||||||
|
mkdir -p .dist/$(TAR_NAME)
|
||||||
|
find . -name .dist -prune -o \
|
||||||
|
-name .CVS -prune -o -name .svn -prune -o \
|
||||||
|
-name .pc -prune -o -name patches -prune -o \
|
||||||
|
'(' -name Makefile -o -name '*.[ch]' -o -name '*.spec' ')' \
|
||||||
|
-print | tar -T - -cf - | tar xf - -C .dist/$(TAR_NAME)
|
||||||
|
tar zcf $(TAR_BALL) -C .dist $(TAR_NAME)
|
||||||
|
-rm -rf .dist
|
||||||
|
|||||||
59
Extras/simdmathlibrary/common/Makefile
Normal file
59
Extras/simdmathlibrary/common/Makefile
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# make file to build the libsimdmath library for PPU and SPU
|
||||||
|
# Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms,
|
||||||
|
# with or without modification, are permitted provided that the
|
||||||
|
# following conditions are met:
|
||||||
|
# * Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# * Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
# * Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
# of its contributors may be used to endorse or promote products derived
|
||||||
|
# from this software without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
prefix = /usr
|
||||||
|
prefix_ppu = $(prefix)
|
||||||
|
prefix_spu = $(prefix)/spu
|
||||||
|
DESTDIR =
|
||||||
|
|
||||||
|
INSTALL = install
|
||||||
|
|
||||||
|
MAKE_DEFS = \
|
||||||
|
prefix='$(prefix)' \
|
||||||
|
prefix_ppu='$(prefix_ppu)' \
|
||||||
|
prefix_spu='$(prefix_spu)' \
|
||||||
|
DESTDIR='$(DESTDIR)' \
|
||||||
|
INSTALL='$(INSTALL)'
|
||||||
|
|
||||||
|
TARGET_PREFIX = $(prefix)
|
||||||
|
|
||||||
|
all:
|
||||||
|
@true
|
||||||
|
|
||||||
|
install:
|
||||||
|
$(MAKE) $(MAKE_DEFS) TARGET_PREFIX=$(prefix_ppu) do_install
|
||||||
|
$(MAKE) $(MAKE_DEFS) TARGET_PREFIX=$(prefix_spu) do_install
|
||||||
|
|
||||||
|
do_install:
|
||||||
|
$(INSTALL) -m 755 -d $(DESTDIR)$(TARGET_PREFIX)/include
|
||||||
|
$(INSTALL) -m 755 -d $(DESTDIR)$(TARGET_PREFIX)/include/simdmath
|
||||||
|
$(INSTALL) -m 644 simdmath.h $(DESTDIR)$(TARGET_PREFIX)/include/
|
||||||
|
$(INSTALL) -m 644 simdmath/*.h $(DESTDIR)$(TARGET_PREFIX)/include/simdmath/
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@true
|
||||||
@@ -27,14 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/absi4.h>
|
||||||
|
|
||||||
#include <simdmath.h>
|
|
||||||
#include <altivec.h>
|
|
||||||
|
|
||||||
vector signed int
|
vector signed int
|
||||||
absi4 (vector signed int x)
|
absi4 (vector signed int x)
|
||||||
{
|
{
|
||||||
return vec_abs( x );
|
return _absi4( x );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
/* fmaf4
|
/* acosf4 -
|
||||||
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
@@ -27,12 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/acosf4.h>
|
||||||
#include <simdmath.h>
|
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector float
|
vector float
|
||||||
fmaf4 (vector float x, vector float y, vector float z)
|
acosf4 (vector float x)
|
||||||
{
|
{
|
||||||
return spu_madd(x,y,z);
|
return _acosf4( x );
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/asinf4.c
Normal file
36
Extras/simdmathlibrary/common/asinf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* asinf4 - Computes the inverse sine of all four slots of x
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/asinf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
asinf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _asinf4( x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/atan2f4.c
Normal file
36
Extras/simdmathlibrary/common/atan2f4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* atan2f4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/atan2f4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
atan2f4 (vector float y, vector float x)
|
||||||
|
{
|
||||||
|
return _atan2f4( y, x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/atanf4.c
Normal file
36
Extras/simdmathlibrary/common/atanf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* atanf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/atan2f4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
atanf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _atanf4( x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/cbrtf4.c
Normal file
36
Extras/simdmathlibrary/common/cbrtf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* cbrtf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/cbrtf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
cbrtf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _cbrtf4( x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/ceild2.c
Normal file
36
Extras/simdmathlibrary/common/ceild2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* ceild2 - for each of two doule slots, round up to smallest integer not less than the value.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/ceild2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
ceild2(vector double in)
|
||||||
|
{
|
||||||
|
return _ceild2(in);
|
||||||
|
}
|
||||||
@@ -27,13 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/ceilf4.h>
|
||||||
#include <altivec.h>
|
|
||||||
|
|
||||||
|
|
||||||
vector float
|
vector float
|
||||||
ceilf4 (vector float x)
|
ceilf4 (vector float x)
|
||||||
{
|
{
|
||||||
return vec_ceil( x );
|
return _ceilf4( x );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,7 +30,24 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
static inline unsigned long long clock()
|
#ifdef __SPU__
|
||||||
|
|
||||||
|
#include <spu_intrinsics.h>
|
||||||
|
|
||||||
|
static inline unsigned long long clock_start(void)
|
||||||
|
{
|
||||||
|
spu_writech(SPU_WrDec, 0);
|
||||||
|
return -spu_readch(SPU_RdDec);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline unsigned long long clock_stop(void)
|
||||||
|
{
|
||||||
|
return -spu_readch(SPU_RdDec);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
static inline unsigned long long clock(void)
|
||||||
{
|
{
|
||||||
unsigned long long ret;
|
unsigned long long ret;
|
||||||
/* This need to be fixed for the hardware errata. */
|
/* This need to be fixed for the hardware errata. */
|
||||||
@@ -40,6 +57,19 @@ static inline unsigned long long clock()
|
|||||||
: "memory");
|
: "memory");
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline unsigned long long clock_start(void)
|
||||||
|
{
|
||||||
|
return clock();
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline unsigned long long clock_stop(void)
|
||||||
|
{
|
||||||
|
return clock();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// Test files begin with TEST_SET_START("your initials","test set description")
|
// Test files begin with TEST_SET_START("your initials","test set description")
|
||||||
// Individual tests begin with TEST_START("name of test")
|
// Individual tests begin with TEST_START("name of test")
|
||||||
// and end with TEST_PASS(), TEST_FAIL("reason for failure") or TEST_CHECK(<test to evaluate>)
|
// and end with TEST_PASS(), TEST_FAIL("reason for failure") or TEST_CHECK(<test to evaluate>)
|
||||||
@@ -77,9 +107,9 @@ unsigned long long
|
|||||||
__description=description; \
|
__description=description; \
|
||||||
__count=0; \
|
__count=0; \
|
||||||
__passed=0; \
|
__passed=0; \
|
||||||
__time=0; \
|
|
||||||
__ttime=0; \
|
__ttime=0; \
|
||||||
printf("0\t%s\t%d\t%s\tSTART\tpassed\ttotal\ttime\t%s\tunique test id \t%s\n",__FILE__,__LINE__,__initials,__set_id, __description); \
|
printf("0\t%s\t%d\t%s\tSTART\tpassed\ttotal\ttime\t%s\tunique test id \t%s\n",__FILE__,__LINE__,__initials,__set_id, __description); \
|
||||||
|
__time = clock_start(); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
// TEST_START
|
// TEST_START
|
||||||
@@ -87,9 +117,9 @@ unsigned long long
|
|||||||
// name - brief name for this test
|
// name - brief name for this test
|
||||||
#define TEST_START(name) \
|
#define TEST_START(name) \
|
||||||
do { \
|
do { \
|
||||||
__asm __volatile__ ( "mftb %0 \n" : "=r" (__time) :: "memory"); \
|
(void)clock_stop(); \
|
||||||
__name=name; \
|
__name=name; \
|
||||||
__asm __volatile__ ( "mftb %0 \n" : "=r" (__time) :: "memory"); \
|
__time = clock_start(); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
// TEST_PASS
|
// TEST_PASS
|
||||||
@@ -98,13 +128,13 @@ unsigned long long
|
|||||||
// This should match the id provided to the matching TEST_FAIL call
|
// This should match the id provided to the matching TEST_FAIL call
|
||||||
#define TEST_PASS(test_id) \
|
#define TEST_PASS(test_id) \
|
||||||
do { \
|
do { \
|
||||||
__asm __volatile__ ( "mftb %0 \n" : "=r" (__ttemp) :: "memory"); \
|
__ttemp=clock_stop(); \
|
||||||
__time=__ttemp-__time; \
|
__time=__ttemp-__time; \
|
||||||
__ttime+=__time; \
|
__ttime+=__time; \
|
||||||
__count++; \
|
__count++; \
|
||||||
__passed++; \
|
__passed++; \
|
||||||
printf("1\t%s\t%d\t%s\tPASS\t%d\t%d\t%lld\t%s\t%s\t%s\n",__FILE__,__LINE__,__initials,__passed,__count,__time,__set_id,test_id,__name); \
|
printf("1\t%s\t%d\t%s\tPASS\t%d\t%d\t%lld\t%s\t%s\t%s\n",__FILE__,__LINE__,__initials,__passed,__count,__time,__set_id,test_id,__name); \
|
||||||
__asm __volatile__ ( "mftb %0 \n" : "=r" (__time) :: "memory"); \
|
__time=clock_start(); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
// TEST_FAIL
|
// TEST_FAIL
|
||||||
@@ -114,13 +144,13 @@ unsigned long long
|
|||||||
// why - brief description of why it failed
|
// why - brief description of why it failed
|
||||||
#define TEST_FAIL(test_id,why,error_code) \
|
#define TEST_FAIL(test_id,why,error_code) \
|
||||||
do { \
|
do { \
|
||||||
__asm __volatile__ ( "mftb %0 \n" : "=r" (__ttemp) :: "memory"); \
|
__ttemp=clock_stop(); \
|
||||||
__time=__ttemp-__time; \
|
__time=__ttemp-__time; \
|
||||||
__ttime+=__time; \
|
__ttime+=__time; \
|
||||||
__count++; \
|
__count++; \
|
||||||
__success=0; \
|
__success=0; \
|
||||||
printf("1\t%s\t%d\t%s\tFAIL\t%d\t%d\t%lld\t%s\t%s\t%s\tFAILED BECAUSE: %s\t%d\n",__FILE__,__LINE__,__initials,__passed,__count,__time,__set_id,test_id,__name,why,error_code); \
|
printf("1\t%s\t%d\t%s\tFAIL\t%d\t%d\t%lld\t%s\t%s\t%s\tFAILED BECAUSE: %s\t%d\n",__FILE__,__LINE__,__initials,__passed,__count,__time,__set_id,test_id,__name,why,error_code); \
|
||||||
__asm __volatile__ ( "mftb %0 \n" : "=r" (__time) :: "memory"); \
|
__time=clock_start(); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
// TEST_CHECK
|
// TEST_CHECK
|
||||||
@@ -131,7 +161,7 @@ unsigned long long
|
|||||||
// test - expression evaluating to true/false
|
// test - expression evaluating to true/false
|
||||||
#define TEST_CHECK(test_id,test,error_code) \
|
#define TEST_CHECK(test_id,test,error_code) \
|
||||||
do { \
|
do { \
|
||||||
__asm __volatile__ ( "mftb %0 \n" : "=r" (__ttemp) :: "memory"); \
|
__ttemp=clock_stop(); \
|
||||||
__time=__ttemp-__time; \
|
__time=__ttemp-__time; \
|
||||||
__ttime+=__time; \
|
__ttime+=__time; \
|
||||||
__count++; \
|
__count++; \
|
||||||
@@ -145,7 +175,7 @@ unsigned long long
|
|||||||
__success=0; \
|
__success=0; \
|
||||||
printf("1\t%s\t%d\t%s\tFAIL\t%d\t%d\t%lld\t%s\t%s\t%s\tFAILED BECAUSE: check %s failed\t%d\n",__FILE__,__LINE__,__initials,__passed,__count,__time,__set_id,test_id,__name,#test,error_code); \
|
printf("1\t%s\t%d\t%s\tFAIL\t%d\t%d\t%lld\t%s\t%s\t%s\tFAILED BECAUSE: check %s failed\t%d\n",__FILE__,__LINE__,__initials,__passed,__count,__time,__set_id,test_id,__name,#test,error_code); \
|
||||||
} \
|
} \
|
||||||
__asm __volatile__ ( "mftb %0 \n" : "=r" (__time) :: "memory"); \
|
__time=clock_start(); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
// TEST_FUNCTION
|
// TEST_FUNCTION
|
||||||
@@ -159,7 +189,7 @@ unsigned long long
|
|||||||
do { \
|
do { \
|
||||||
TEST_START(name); \
|
TEST_START(name); \
|
||||||
int result=func; \
|
int result=func; \
|
||||||
__asm __volatile__ ( "mftb %0 \n" : "=r" (__ttemp) :: "memory"); \
|
__ttemp=clock_stop(); \
|
||||||
__time=__ttemp-__time; \
|
__time=__ttemp-__time; \
|
||||||
__ttime+=__time; \
|
__ttime+=__time; \
|
||||||
__count++; \
|
__count++; \
|
||||||
@@ -173,7 +203,7 @@ unsigned long long
|
|||||||
__success=0; \
|
__success=0; \
|
||||||
printf("1\t%s\t%d\t%s\tFAIL\t%d\t%d\t%d\t%s\t%s\t%s\tFAILED BECAUSE: %s\t%d\n",__FILE__,__LINE__,__initials,__passed,__count,__time,__set_id,test_id,__name,why,result); \
|
printf("1\t%s\t%d\t%s\tFAIL\t%d\t%d\t%d\t%s\t%s\t%s\tFAILED BECAUSE: %s\t%d\n",__FILE__,__LINE__,__initials,__passed,__count,__time,__set_id,test_id,__name,why,result); \
|
||||||
} \
|
} \
|
||||||
__asm __volatile__ ( "mftb %0 \n" : "=r" (__time) :: "memory"); \
|
__time=clock_start(); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
// TEST_SET_DONE
|
// TEST_SET_DONE
|
||||||
@@ -27,13 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/copysignd2.h>
|
||||||
|
|
||||||
#include <simdmath.h>
|
vector double
|
||||||
#include <spu_intrinsics.h>
|
copysignd2 (vector double x, vector double y)
|
||||||
|
|
||||||
|
|
||||||
vector double copysignd2 (vector double x, vector double y)
|
|
||||||
{
|
{
|
||||||
return spu_sel( x, y, spu_splats(0x8000000000000000ull) );
|
return _copysignd2(x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,13 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/copysignf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
|
|
||||||
vector float
|
vector float
|
||||||
copysignf4 (vector float x, vector float y)
|
copysignf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
return spu_sel( x, y, spu_splats(0x80000000) );
|
return _copysignf4( x, y );
|
||||||
}
|
}
|
||||||
|
|
||||||
36
Extras/simdmathlibrary/common/cosd2.c
Normal file
36
Extras/simdmathlibrary/common/cosd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* cosd2 - Computes the cosine of the each of two double slots.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/cosd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
cosd2 (vector double x)
|
||||||
|
{
|
||||||
|
return _cosd2(x);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/cosf4.c
Normal file
36
Extras/simdmathlibrary/common/cosf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* cosf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/cosf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
cosf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _cosf4( x );
|
||||||
|
}
|
||||||
@@ -27,15 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Equal to numer * recipd2(denom)
|
#include <simdmath/divd2.h>
|
||||||
// See recipd2 for results of special values.
|
|
||||||
|
|
||||||
#include <simdmath.h>
|
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector double
|
vector double
|
||||||
divd2 (vector double numer, vector double denom)
|
divd2 (vector double numer, vector double denom)
|
||||||
{
|
{
|
||||||
return spu_mul( numer, recipd2( denom ) );
|
return _divd2(numer, denom);
|
||||||
}
|
}
|
||||||
|
|
||||||
36
Extras/simdmathlibrary/common/divf4.c
Normal file
36
Extras/simdmathlibrary/common/divf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* divf4 - for each of four float slots, divide numer by denom.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/divf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
divf4 (vector float numer, vector float denom)
|
||||||
|
{
|
||||||
|
return _divf4( numer, denom );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/divi4.c
Normal file
36
Extras/simdmathlibrary/common/divi4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* divi4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/divi4.h>
|
||||||
|
|
||||||
|
divi4_t
|
||||||
|
divi4 (vector signed int numer, vector signed int denom )
|
||||||
|
{
|
||||||
|
return _divi4( numer, denom );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/divu4.c
Normal file
36
Extras/simdmathlibrary/common/divu4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* divu4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/divu4.h>
|
||||||
|
|
||||||
|
divu4_t
|
||||||
|
divu4 (vector unsigned int numer, vector unsigned int denom)
|
||||||
|
{
|
||||||
|
return _divu4(numer, denom);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/exp2f4.c
Normal file
36
Extras/simdmathlibrary/common/exp2f4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* exp2f4
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/exp2f4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
exp2f4 (vector float x)
|
||||||
|
{
|
||||||
|
return _exp2f4( x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/expf4.c
Normal file
36
Extras/simdmathlibrary/common/expf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* expf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/expf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
expf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _expf4( x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/expm1f4.c
Normal file
36
Extras/simdmathlibrary/common/expm1f4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* expm1f4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/expm1f4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
expm1f4 (vector float x)
|
||||||
|
{
|
||||||
|
return _expm1f4( x );
|
||||||
|
}
|
||||||
@@ -27,11 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/fabsd2.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
|
vector double
|
||||||
vector double fabsd2 (vector double x)
|
fabsd2 (vector double x)
|
||||||
{
|
{
|
||||||
return (vec_double2)spu_andc( (vec_ullong2)x, spu_splats(0x8000000000000000ull) );
|
return _fabsd2(x);
|
||||||
}
|
}
|
||||||
@@ -27,12 +27,11 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/fabsf4.h>
|
||||||
|
|
||||||
#include <simdmath.h>
|
vector float
|
||||||
#include <altivec.h>
|
fabsf4 (vector float x)
|
||||||
|
|
||||||
vector float fabsf4(vector float x)
|
|
||||||
{
|
{
|
||||||
return vec_abs( x );
|
return _fabsf4( x );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,20 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/fdimd2.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
/* fdim_v - compute the positive difference of x and y.
|
|
||||||
*/
|
|
||||||
vector double
|
vector double
|
||||||
fdimd2 (vector double x, vector double y)
|
fdimd2 (vector double x, vector double y)
|
||||||
{
|
{
|
||||||
vec_double2 v;
|
return _fdimd2(x, y);
|
||||||
vec_uint4 mask;
|
|
||||||
|
|
||||||
v = spu_sub(x, y);
|
|
||||||
mask = (vec_uint4)spu_shuffle(v, v, ((vec_uchar16){0,0,0,0,0,0,0,0, 8,8,8,8,8,8,8,8}));
|
|
||||||
v = spu_andc(v, (vec_double2)spu_rlmaska(mask, -31));
|
|
||||||
|
|
||||||
return (v);
|
|
||||||
}
|
}
|
||||||
@@ -27,13 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/fdimf4.h>
|
||||||
#include <altivec.h>
|
|
||||||
|
|
||||||
|
|
||||||
vector float
|
vector float
|
||||||
fdimf4 (vector float x, vector float y)
|
fdimf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
vector float diff = vec_sub(x,y);
|
return _fdimf4( x, y );
|
||||||
return vec_sel(((vector float){0.0f, 0.0f, 0.0f, 0.0f}), diff, vec_cmpgt(x,y));
|
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/floord2.c
Normal file
36
Extras/simdmathlibrary/common/floord2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* floord2 - for each of two doule slots, round up to smallest integer not more than the value.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/floord2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
floord2(vector double in)
|
||||||
|
{
|
||||||
|
return _floord2(in);
|
||||||
|
}
|
||||||
@@ -27,13 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/floorf4.h>
|
||||||
#include <altivec.h>
|
|
||||||
|
|
||||||
|
|
||||||
vector float
|
vector float
|
||||||
floorf4 (vector float x)
|
floorf4 (vector float x)
|
||||||
{
|
{
|
||||||
return vec_floor( x );
|
return _floorf4( x );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,11 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/fmad2.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector double
|
vector double
|
||||||
fmad2 (vector double x, vector double y, vector double z)
|
fmad2 (vector double x, vector double y, vector double z)
|
||||||
{
|
{
|
||||||
return spu_madd(x,y,z);
|
return _fmad2(x, y, z);
|
||||||
}
|
}
|
||||||
@@ -27,11 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/fmaf4.h>
|
||||||
#include <altivec.h>
|
|
||||||
|
|
||||||
vector float
|
vector float
|
||||||
fmaf4 (vector float x, vector float y, vector float z)
|
fmaf4 (vector float x, vector float y, vector float z)
|
||||||
{
|
{
|
||||||
return vec_madd(x,y,z);
|
return _fmaf4( x, y, z );
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/fmaxd2.c
Normal file
36
Extras/simdmathlibrary/common/fmaxd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* fmaxd2 - for each of two double slots, compute maximum of x and y
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/fmaxd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
fmaxd2 (vector double x, vector double y)
|
||||||
|
{
|
||||||
|
return _fmaxd2(x, y);
|
||||||
|
}
|
||||||
@@ -27,14 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/fmaxf4.h>
|
||||||
#include <simdmath.h>
|
|
||||||
#include <altivec.h>
|
|
||||||
|
|
||||||
|
|
||||||
vector float
|
vector float
|
||||||
fmaxf4 (vector float x, vector float y)
|
fmaxf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
return vec_max( x, y );
|
return _fmaxf4( x, y );
|
||||||
}
|
}
|
||||||
|
|
||||||
36
Extras/simdmathlibrary/common/fmind2.c
Normal file
36
Extras/simdmathlibrary/common/fmind2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* fmind2 - for each of two double slots, compute minimum of x and y
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/fmind2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
fmind2 (vector double x, vector double y)
|
||||||
|
{
|
||||||
|
return _fmind2(x, y);
|
||||||
|
}
|
||||||
@@ -27,13 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/fminf4.h>
|
||||||
#include <altivec.h>
|
|
||||||
|
|
||||||
|
|
||||||
vector float
|
vector float
|
||||||
fminf4 (vector float x, vector float y)
|
fminf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
return vec_min( x, y );
|
return _fminf4( x, y );
|
||||||
}
|
}
|
||||||
|
|
||||||
36
Extras/simdmathlibrary/common/fmodd2.c
Normal file
36
Extras/simdmathlibrary/common/fmodd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* fmodd2 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/fmodd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
fmodd2(vector double x, vector double y)
|
||||||
|
{
|
||||||
|
return _fmodd2(x, y);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/fmodf4.c
Normal file
36
Extras/simdmathlibrary/common/fmodf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* fmodf4 - for each of four float slots, compute remainder of x/y defined as x - truncated_integer(x/y) * y.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/fmodf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
fmodf4 (vector float x, vector float y)
|
||||||
|
{
|
||||||
|
return _fmodf4( x, y );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/fpclassifyd2.c
Normal file
36
Extras/simdmathlibrary/common/fpclassifyd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* fpclassifyd2 - for each element of vector x, return classification of x': FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/fpclassifyd2.h>
|
||||||
|
|
||||||
|
vector signed long long
|
||||||
|
fpclassifyd2 (vector double x)
|
||||||
|
{
|
||||||
|
return _fpclassifyd2(x);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/fpclassifyf4.c
Normal file
36
Extras/simdmathlibrary/common/fpclassifyf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* fpclassifyf4 - for each element of vector x, return classification of x': FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/fpclassifyf4.h>
|
||||||
|
|
||||||
|
vector signed int
|
||||||
|
fpclassifyf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _fpclassifyf4(x);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/frexpd2.c
Normal file
36
Extras/simdmathlibrary/common/frexpd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* frexpd2 - for each element of vector x, return the normalized fraction and store the exponent of x'
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/frexpd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
frexpd2 (vector double x, vector signed long long *pexp)
|
||||||
|
{
|
||||||
|
return _frexpd2(x, pexp);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/frexpf4.c
Normal file
36
Extras/simdmathlibrary/common/frexpf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* frexpf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/frexpf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
frexpf4 (vector float x, vector signed int *exp)
|
||||||
|
{
|
||||||
|
return _frexpf4( x, exp );
|
||||||
|
}
|
||||||
@@ -27,14 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/hypotd2.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector double
|
vector double
|
||||||
hypotd2 (vector double x, vector double y)
|
hypotd2 (vector double x, vector double y)
|
||||||
{
|
{
|
||||||
vec_double2 sum = spu_mul(x,x);
|
return _hypotd2(x, y);
|
||||||
sum = spu_madd(y,y,sum);
|
|
||||||
|
|
||||||
return sqrtd2(sum);
|
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/hypotf4.c
Normal file
36
Extras/simdmathlibrary/common/hypotf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* hypotf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/hypotf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
hypotf4 (vector float x, vector float y)
|
||||||
|
{
|
||||||
|
return _hypotf4( x, y );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/ilogbd2.c
Normal file
36
Extras/simdmathlibrary/common/ilogbd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* ilogbd2 - for each element of vector x, return integer exponent of normalized double x', FP_ILOGBNAN, or FP_ILOGB0
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/ilogbd2.h>
|
||||||
|
|
||||||
|
vector signed long long
|
||||||
|
ilogbd2 (vector double x)
|
||||||
|
{
|
||||||
|
return _ilogbd2(x);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/ilogbf4.c
Normal file
36
Extras/simdmathlibrary/common/ilogbf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* ilogbf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/ilogbf4.h>
|
||||||
|
|
||||||
|
vector signed int
|
||||||
|
ilogbf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _ilogbf4( x );
|
||||||
|
}
|
||||||
@@ -30,10 +30,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/irintf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector signed int irintf4(vector float in)
|
vector signed int
|
||||||
|
irintf4(vector float in)
|
||||||
{
|
{
|
||||||
return spu_convts(in,0);
|
return _irintf4(in);
|
||||||
}
|
}
|
||||||
@@ -29,27 +29,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/iroundf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector signed int iroundf4(vector float in)
|
vector signed int
|
||||||
|
iroundf4(vector float in)
|
||||||
{
|
{
|
||||||
vec_int4 exp, out;
|
return _iroundf4(in);
|
||||||
vec_uint4 addend;
|
|
||||||
|
|
||||||
/* Add 0.5 (fixed precision to eliminate rounding issues
|
|
||||||
*/
|
|
||||||
exp = spu_sub(125, spu_and(spu_rlmask((vec_int4)in, -23), 0xFF));
|
|
||||||
|
|
||||||
addend = spu_and(spu_rlmask( spu_splats((unsigned int)0x1000000), exp),
|
|
||||||
spu_cmpgt((vec_uint4)exp, -31));
|
|
||||||
|
|
||||||
in = (vec_float4)spu_add((vec_uint4)in, addend);
|
|
||||||
|
|
||||||
|
|
||||||
/* Truncate the result.
|
|
||||||
*/
|
|
||||||
out = spu_convts(in,0);
|
|
||||||
|
|
||||||
return (out);
|
|
||||||
}
|
}
|
||||||
@@ -27,20 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/is0denormd2.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
|
|
||||||
vector unsigned long long
|
vector unsigned long long
|
||||||
is0denormd2 (vector double x)
|
is0denormd2 (vector double x)
|
||||||
{
|
{
|
||||||
vec_double2 xexp;
|
return _is0denormd2(x);
|
||||||
vec_ullong2 cmp;
|
|
||||||
vec_uchar16 even = (vec_uchar16)(vec_uint4){ 0x00010203, 0x00010203, 0x08090a0b, 0x08090a0b };
|
|
||||||
|
|
||||||
xexp = (vec_double2)spu_and( (vec_ullong2)x, spu_splats(0x7ff0000000000000ull) );
|
|
||||||
cmp = (vec_ullong2)spu_cmpeq( (vec_uint4)xexp, (vec_uint4)spu_splats(0) );
|
|
||||||
cmp = spu_shuffle( cmp, cmp, even );
|
|
||||||
|
|
||||||
return cmp;
|
|
||||||
}
|
}
|
||||||
@@ -26,12 +26,10 @@
|
|||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
#include <simdmath/is0denormf4.h>
|
||||||
#include <simdmath.h>
|
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
is0denormf4 (vector float x)
|
is0denormf4 (vector float x)
|
||||||
{
|
{
|
||||||
return spu_cmpeq( (vec_uint4)spu_and( (vec_uint4)x, spu_splats((unsigned int)0x7f800000) ), (vec_uint4)spu_splats(0x00000000) );
|
return _is0denormf4(x);
|
||||||
}
|
}
|
||||||
35
Extras/simdmathlibrary/common/isequald2.c
Normal file
35
Extras/simdmathlibrary/common/isequald2.c
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
/* isequald2 - for each of two double slots, if x = y return a mask of ones, else zero
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
#include <simdmath/isequald2.h>
|
||||||
|
|
||||||
|
vector unsigned long long
|
||||||
|
isequald2 (vector double x, vector double y)
|
||||||
|
{
|
||||||
|
return _isequald2(x, y);
|
||||||
|
}
|
||||||
@@ -27,11 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/isequalf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
isequalf4 (vector float x, vector float y)
|
isequalf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
return spu_cmpeq(x, y);
|
return _isequalf4(x, y);
|
||||||
}
|
}
|
||||||
@@ -27,21 +27,11 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/isfinited2.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned long long
|
vector unsigned long long
|
||||||
isfinited2 (vector double x)
|
isfinited2 (vector double x)
|
||||||
{
|
{
|
||||||
vec_uchar16 even = (vec_uchar16)(vec_uint4){ 0x00010203, 0x00010203, 0x08090a0b, 0x08090a0b };
|
return _isfinited2(x);
|
||||||
vec_ullong2 expn = spu_splats(0x7ff0000000000000ull);
|
|
||||||
vec_ullong2 cmpr;
|
|
||||||
|
|
||||||
//Finite unless NaN or Inf, check for 'not all-ones exponent'
|
|
||||||
|
|
||||||
cmpr = (vec_ullong2)spu_cmpgt( (vec_uint4)expn, (vec_uint4)spu_and( (vec_ullong2)x, expn ) );
|
|
||||||
cmpr = spu_shuffle( cmpr, cmpr, even);
|
|
||||||
|
|
||||||
return cmpr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,14 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/isfinitef4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
isfinitef4 (vector float x)
|
isfinitef4 (vector float x)
|
||||||
{
|
{
|
||||||
(void)x;
|
return _isfinitef4(x);
|
||||||
|
|
||||||
// NaN, INF not supported on SPU, result always a mask of ones
|
|
||||||
return spu_splats((unsigned int)0xffffffff);
|
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/isgreaterd2.c
Normal file
36
Extras/simdmathlibrary/common/isgreaterd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* isgreaterd2 - for each of two double slots, if x > y return mask of ones, else 0
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/isgreaterd2.h>
|
||||||
|
|
||||||
|
vector unsigned long long
|
||||||
|
isgreaterd2 (vector double x, vector double y)
|
||||||
|
{
|
||||||
|
return _isgreaterd2(x, y);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/isgreaterequald2.c
Normal file
36
Extras/simdmathlibrary/common/isgreaterequald2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* isgreaterequald2 - for each of two double slots, if x is greater or equal to y return a mask of ones, else zero
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/isgreaterequald2.h>
|
||||||
|
|
||||||
|
vector unsigned long long
|
||||||
|
isgreaterequald2 (vector double x, vector double y)
|
||||||
|
{
|
||||||
|
return _isgreaterequald2(x, y);
|
||||||
|
}
|
||||||
@@ -27,15 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/isgreaterequalf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
isgreaterequalf4 (vector float x, vector float y)
|
isgreaterequalf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
vec_uint4 var;
|
return _isgreaterequalf4(x, y);
|
||||||
|
|
||||||
var = spu_cmpgt(y, x);
|
|
||||||
|
|
||||||
return spu_nor(var, var);
|
|
||||||
}
|
}
|
||||||
@@ -27,11 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/isgreaterf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
isgreaterf4 (vector float x, vector float y)
|
isgreaterf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
return spu_cmpgt(x, y);
|
return _isgreaterf4(x, y);
|
||||||
}
|
}
|
||||||
@@ -27,21 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/isinfd2.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
|
|
||||||
vector unsigned long long
|
vector unsigned long long
|
||||||
isinfd2 (vector double x)
|
isinfd2 (vector double x)
|
||||||
{
|
{
|
||||||
vec_uchar16 swapEvenOdd = (vec_uchar16)(vec_uint4){ 0x04050607, 0x00010203, 0x0c0d0e0f, 0x08090a0b };
|
return _isinfd2(x);
|
||||||
vec_double2 xabs;
|
|
||||||
vec_ullong2 cmp;
|
|
||||||
|
|
||||||
xabs = (vec_double2)spu_andc( (vec_ullong2)x, spu_splats(0x8000000000000000ull) );
|
|
||||||
cmp = (vec_ullong2)spu_cmpeq( (vec_uint4)xabs, (vec_uint4)spu_splats(0x7ff0000000000000ull) );
|
|
||||||
cmp = spu_and( cmp, spu_shuffle( cmp, cmp, swapEvenOdd ) );
|
|
||||||
|
|
||||||
return cmp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,14 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/isinff4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
isinff4 (vector float x)
|
isinff4 (vector float x)
|
||||||
{
|
{
|
||||||
(void)x;
|
return _isinff4(x);
|
||||||
|
|
||||||
// INF not supported on SPU, result always zero
|
|
||||||
return spu_splats((unsigned int)0x00000000);
|
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/islessd2.c
Normal file
36
Extras/simdmathlibrary/common/islessd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* islessd2 - for each of two double slots, if x < y return a mask of ones, else zero
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/islessd2.h>
|
||||||
|
|
||||||
|
vector unsigned long long
|
||||||
|
islessd2 (vector double x, vector double y)
|
||||||
|
{
|
||||||
|
return _islessd2(x, y);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/islessequald2.c
Normal file
36
Extras/simdmathlibrary/common/islessequald2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* islessequald2 - for each of two double slots, if x <= y return mask of ones, else 0
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/islessequald2.h>
|
||||||
|
|
||||||
|
vector unsigned long long
|
||||||
|
islessequald2 (vector double x, vector double y)
|
||||||
|
{
|
||||||
|
return _islessequald2(x, y);
|
||||||
|
}
|
||||||
@@ -27,15 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/islessequalf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
islessequalf4 (vector float x, vector float y)
|
islessequalf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
vec_uint4 var;
|
return _islessequalf4(x, y);
|
||||||
|
|
||||||
var = spu_cmpgt(x, y);
|
|
||||||
|
|
||||||
return spu_nor(var, var);
|
|
||||||
}
|
}
|
||||||
@@ -27,11 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/islessf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
islessf4 (vector float x, vector float y)
|
islessf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
return spu_cmpgt(y, x);
|
return _islessf4(x, y);
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/islessgreaterd2.c
Normal file
36
Extras/simdmathlibrary/common/islessgreaterd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* islessgreaterd2 - for each of two double slots, if x is less or greater than y return a mask of ones, else zero
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/islessgreaterd2.h>
|
||||||
|
|
||||||
|
vector unsigned long long
|
||||||
|
islessgreaterd2 (vector double x, vector double y)
|
||||||
|
{
|
||||||
|
return _islessgreaterd2(x, y);
|
||||||
|
}
|
||||||
@@ -27,15 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/islessgreaterf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
islessgreaterf4 (vector float x, vector float y)
|
islessgreaterf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
vec_uint4 var;
|
return _islessgreaterf4(x, y);
|
||||||
|
|
||||||
var = spu_cmpeq(x, y);
|
|
||||||
|
|
||||||
return spu_nor(var, var);
|
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/isnand2.c
Normal file
36
Extras/simdmathlibrary/common/isnand2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* isnand2 - for each of two double slots, if input is any type of NaN return mask of ones, else 0
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/isnand2.h>
|
||||||
|
|
||||||
|
vector unsigned long long
|
||||||
|
isnand2 (vector double x)
|
||||||
|
{
|
||||||
|
return _isnand2(x);
|
||||||
|
}
|
||||||
@@ -27,14 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/isnanf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
isnanf4 (vector float x)
|
isnanf4 (vector float x)
|
||||||
{
|
{
|
||||||
(void)x;
|
return _isnanf4(x);
|
||||||
|
|
||||||
// NaN not supported on SPU, result always zero
|
|
||||||
return spu_splats((unsigned int)0x00000000);
|
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/isnormald2.c
Normal file
36
Extras/simdmathlibrary/common/isnormald2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* isnormald2 - for each element of vector x, return a mask of ones if x' is normal, not a NaN or INF, zero otherwise
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/isnormald2.h>
|
||||||
|
|
||||||
|
vector unsigned long long
|
||||||
|
isnormald2 (vector double x)
|
||||||
|
{
|
||||||
|
return _isnormald2(x);
|
||||||
|
}
|
||||||
@@ -27,12 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/isnormalf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
isnormalf4 (vector float x)
|
isnormalf4 (vector float x)
|
||||||
{
|
{
|
||||||
// NaN, INF not supported on SPU; normal unless zero
|
return _isnormalf4(x);
|
||||||
return spu_cmpabsgt(x, (vector float)spu_splats(0x00000000));
|
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/isunorderedd2.c
Normal file
36
Extras/simdmathlibrary/common/isunorderedd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* isunorderedd2 - for each element of vector x and y, return a mask of ones if x' is unordered to y', zero otherwise
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/isunorderedd2.h>
|
||||||
|
|
||||||
|
vector unsigned long long
|
||||||
|
isunorderedd2 (vector double x, vector double y)
|
||||||
|
{
|
||||||
|
return _isunorderedd2(x, y);
|
||||||
|
}
|
||||||
@@ -27,15 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/isunorderedf4.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector unsigned int
|
vector unsigned int
|
||||||
isunorderedf4 (vector float x, vector float y)
|
isunorderedf4 (vector float x, vector float y)
|
||||||
{
|
{
|
||||||
(void)x;
|
return _isunorderedf4(x, y);
|
||||||
(void)y;
|
|
||||||
|
|
||||||
// NaN not supported on SPU, result always zero
|
|
||||||
return spu_splats((unsigned int)0x00000000);
|
|
||||||
}
|
}
|
||||||
38
Extras/simdmathlibrary/common/ldexpd2.c
Normal file
38
Extras/simdmathlibrary/common/ldexpd2.c
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
/* ldexpd2 - Multiply Double by 2 Raised to its Power
|
||||||
|
For large elements of ex (overflow), returns HUGE_VALF
|
||||||
|
For small elements of ex (underflow), returns 0.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/ldexpd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
ldexpd2(vector double x, vector signed long long ex)
|
||||||
|
{
|
||||||
|
return _ldexpd2(x, ex);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/ldexpf4.c
Normal file
36
Extras/simdmathlibrary/common/ldexpf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* ldexpf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/ldexpf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
ldexpf4 (vector float x, vector signed int exp)
|
||||||
|
{
|
||||||
|
return _ldexpf4( x, exp );
|
||||||
|
}
|
||||||
@@ -27,19 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/llabsi2.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector signed long long
|
vector signed long long
|
||||||
llabsi2 (vector signed long long in)
|
llabsi2 (vector signed long long in)
|
||||||
{
|
{
|
||||||
vec_uint4 sign = (vec_uint4)spu_rlmaska((vec_int4)in, -31);
|
return _llabsi2(in);
|
||||||
sign = spu_shuffle(sign, sign, ((vec_uchar16){ 0,0,0,0,0,0,0,0, 8,8,8,8,8,8,8,8}));
|
|
||||||
|
|
||||||
vec_uint4 add_1 = ((vec_uint4){0,1,0,1});
|
|
||||||
vec_uint4 res = spu_nor((vec_uint4)in, (vec_uint4)in);
|
|
||||||
res = spu_addx( res, add_1, spu_slqwbyte(spu_genc(res, add_1), 4));
|
|
||||||
res = spu_sel( (vec_uint4)in, res, sign);
|
|
||||||
|
|
||||||
return ((vec_llong2)(res));
|
|
||||||
}
|
}
|
||||||
36
Extras/simdmathlibrary/common/lldivi2.c
Normal file
36
Extras/simdmathlibrary/common/lldivi2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* lldivi2 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/lldivi2.h>
|
||||||
|
|
||||||
|
lldivi2_t
|
||||||
|
lldivi2 (vector signed long long numer, vector signed long long denom)
|
||||||
|
{
|
||||||
|
return _lldivi2(numer, denom);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/lldivu2.c
Normal file
36
Extras/simdmathlibrary/common/lldivu2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* lldivu2 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/lldivu2.h>
|
||||||
|
|
||||||
|
lldivu2_t
|
||||||
|
lldivu2 (vector unsigned long long numer, vector unsigned long long denom)
|
||||||
|
{
|
||||||
|
return _lldivu2(numer, denom);
|
||||||
|
}
|
||||||
37
Extras/simdmathlibrary/common/llrintd2.c
Normal file
37
Extras/simdmathlibrary/common/llrintd2.c
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* llrintd2 - rounds two doubles in to two nearest 64bit integer.
|
||||||
|
consistent with the current rounding mode.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/llrintd2.h>
|
||||||
|
|
||||||
|
vector signed long long
|
||||||
|
llrintd2 (vector double in)
|
||||||
|
{
|
||||||
|
return _llrintd2(in);
|
||||||
|
}
|
||||||
37
Extras/simdmathlibrary/common/llrintf4.c
Normal file
37
Extras/simdmathlibrary/common/llrintf4.c
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* llrintf4 - rounds four floats in to four nearest 64bit integer.
|
||||||
|
On SPU the rounding mode for floats is always towards 0.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/llrintf4.h>
|
||||||
|
|
||||||
|
llroundf4_t
|
||||||
|
llrintf4 (vector float in)
|
||||||
|
{
|
||||||
|
return _llrintf4(in);
|
||||||
|
}
|
||||||
37
Extras/simdmathlibrary/common/llroundd2.c
Normal file
37
Extras/simdmathlibrary/common/llroundd2.c
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* llroundd2 - rounds two doubles in to two nearest 64bit integer.
|
||||||
|
0.5 will be rounded to far from 0
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/llroundd2.h>
|
||||||
|
|
||||||
|
vector signed long long
|
||||||
|
llroundd2 (vector double in)
|
||||||
|
{
|
||||||
|
return _llroundd2(in);
|
||||||
|
}
|
||||||
37
Extras/simdmathlibrary/common/llroundf4.c
Normal file
37
Extras/simdmathlibrary/common/llroundf4.c
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* llroundf4 - rounds four floats in to four nearest 64bit integer.
|
||||||
|
0.5 will be rounded to far from 0
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/llroundf4.h>
|
||||||
|
|
||||||
|
llroundf4_t
|
||||||
|
llroundf4 (vector float in)
|
||||||
|
{
|
||||||
|
return _llroundf4(in);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/log10f4.c
Normal file
36
Extras/simdmathlibrary/common/log10f4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* log10f4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/log10f4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
log10f4 (vector float x)
|
||||||
|
{
|
||||||
|
return _log10f4( x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/log1pf4.c
Normal file
36
Extras/simdmathlibrary/common/log1pf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* log1pf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/log1pf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
log1pf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _log1pf4( x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/log2f4.c
Normal file
36
Extras/simdmathlibrary/common/log2f4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* log2f4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/log2f4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
log2f4 (vector float x)
|
||||||
|
{
|
||||||
|
return _log2f4( x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/logbd2.c
Normal file
36
Extras/simdmathlibrary/common/logbd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* logbd2 - for each element of vector x, return the exponent of normalized double x' as floating point value
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/logbd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
logbd2 (vector double x)
|
||||||
|
{
|
||||||
|
return _logbd2(x);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/logbf4.c
Normal file
36
Extras/simdmathlibrary/common/logbf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* logbf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/logbf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
logbf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _logbf4( x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/logf4.c
Normal file
36
Extras/simdmathlibrary/common/logf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* logf4 -
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/logf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
logf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _logf4( x );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/modfd2.c
Normal file
36
Extras/simdmathlibrary/common/modfd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* modfd2 - for each of two double slots, compute fractional and integral parts.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/modfd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
modfd2 (vector double x, vector double *iptr)
|
||||||
|
{
|
||||||
|
return _modfd2(x, iptr);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/modff4.c
Normal file
36
Extras/simdmathlibrary/common/modff4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* modff4
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/modff4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
modff4 (vector float x, vector float *iptr)
|
||||||
|
{
|
||||||
|
return _modff4( x, iptr );
|
||||||
|
}
|
||||||
37
Extras/simdmathlibrary/common/nearbyintd2.c
Normal file
37
Extras/simdmathlibrary/common/nearbyintd2.c
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* nearbyintd2 - Round the input to the nearest integer according to
|
||||||
|
the current rounding mode without raising an inexact exception.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/nearbyintd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
nearbyintd2(vector double in)
|
||||||
|
{
|
||||||
|
return _nearbyintd2(in);
|
||||||
|
}
|
||||||
@@ -30,21 +30,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/nearbyintf4.h>
|
||||||
|
|
||||||
#include <simdmath.h>
|
vector float
|
||||||
#include <spu_intrinsics.h>
|
nearbyintf4(vector float x)
|
||||||
|
|
||||||
vector float nearbyintf4(vector float x)
|
|
||||||
{
|
{
|
||||||
vector signed int xi;
|
return _nearbyintf4(x);
|
||||||
vector unsigned int inrange;
|
|
||||||
|
|
||||||
// Can convert to and from signed integer to truncate values in range [-2^31, 2^31).
|
|
||||||
// However, no truncation needed if exponent > 22.
|
|
||||||
|
|
||||||
inrange = spu_cmpabsgt( (vector float)spu_splats(0x4b000000), x );
|
|
||||||
|
|
||||||
xi = spu_convts( x, 0 );
|
|
||||||
|
|
||||||
return spu_sel( x, spu_convtf( xi, 0 ), inrange );
|
|
||||||
}
|
}
|
||||||
@@ -27,12 +27,11 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/negated2.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector double
|
vector double
|
||||||
negated2 (vector double x)
|
negated2 (vector double x)
|
||||||
{
|
{
|
||||||
return (vec_double2)spu_xor( (vec_ullong2)x, spu_splats(0x8000000000000000ull) );
|
return _negated2(x);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,14 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/negatef4.h>
|
||||||
#include <altivec.h>
|
|
||||||
|
|
||||||
#include "common-types.h"
|
|
||||||
|
|
||||||
vector float
|
vector float
|
||||||
negatef4 (vector float x)
|
negatef4 (vector float x)
|
||||||
{
|
{
|
||||||
return (vector float)vec_xor( (vector unsigned int)x, vec_splatsu4(0x80000000) );
|
return _negatef4( x );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,13 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/negatei4.h>
|
||||||
#include <altivec.h>
|
|
||||||
|
|
||||||
vector signed int
|
vector signed int
|
||||||
negatei4 (vector signed int x)
|
negatei4 (vector signed int x)
|
||||||
{
|
{
|
||||||
vector signed int zero = (vector signed int){0, 0, 0, 0};
|
return _negatei4( x );
|
||||||
return vec_sub (zero, x);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,17 +27,10 @@
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <simdmath.h>
|
#include <simdmath/negatell2.h>
|
||||||
#include <spu_intrinsics.h>
|
|
||||||
|
|
||||||
vector signed long long
|
vector signed long long
|
||||||
negatell2 (vector signed long long x)
|
negatell2 (vector signed long long x)
|
||||||
{
|
{
|
||||||
vector signed int zero = (vector signed int){0,0,0,0};
|
return _negatell2(x);
|
||||||
vector signed int borrow;
|
|
||||||
|
|
||||||
borrow = spu_genb(zero, (vec_int4)x);
|
|
||||||
borrow = spu_shuffle(borrow, borrow, ((vec_uchar16){4,5,6,7, 0xC0,0xC0,0xC0,0xC0, 12,13,14,15, 0xC0,0xC0,0xC0,0xC0}));
|
|
||||||
return (vec_llong2)spu_subx(zero, (vec_int4)x, borrow);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
36
Extras/simdmathlibrary/common/nextafterd2.c
Normal file
36
Extras/simdmathlibrary/common/nextafterd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* nextafterd2 - find next representable floating-point value towards 2nd param.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/nextafterd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
nextafterd2 (vector double xx, vector double yy)
|
||||||
|
{
|
||||||
|
return _nextafterd2(xx, yy);
|
||||||
|
}
|
||||||
38
Extras/simdmathlibrary/common/nextafterf4.c
Normal file
38
Extras/simdmathlibrary/common/nextafterf4.c
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
/* nextafterf4 - for each of four float slots,
|
||||||
|
return the the next representable value after x in the direction fo y,
|
||||||
|
if x is euqal to y, the result is y.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/nextafterf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
nextafterf4(vector float x, vector float y)
|
||||||
|
{
|
||||||
|
return _nextafterf4(x, y);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/powf4.c
Normal file
36
Extras/simdmathlibrary/common/powf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* exp2f4
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/powf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
powf4 (vector float x, vector float y)
|
||||||
|
{
|
||||||
|
return _powf4( x, y );
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/recipd2.c
Normal file
36
Extras/simdmathlibrary/common/recipd2.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* recipd2 - for each of two double slots, compute reciprocal.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/recipd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
recipd2 (vector double x)
|
||||||
|
{
|
||||||
|
return _recipd2(x);
|
||||||
|
}
|
||||||
36
Extras/simdmathlibrary/common/recipf4.c
Normal file
36
Extras/simdmathlibrary/common/recipf4.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/* recipf4 - for each of four float slots, compute reciprocal.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/recipf4.h>
|
||||||
|
|
||||||
|
vector float
|
||||||
|
recipf4 (vector float x)
|
||||||
|
{
|
||||||
|
return _recipf4( x );
|
||||||
|
}
|
||||||
37
Extras/simdmathlibrary/common/remainderd2.c
Normal file
37
Extras/simdmathlibrary/common/remainderd2.c
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* A vector double is returned that contains the remainder xi REM yi,
|
||||||
|
for the corresponding elements of vector double x and vector double y.
|
||||||
|
Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the
|
||||||
|
following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the Sony Computer Entertainment Inc nor the names
|
||||||
|
of its contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <simdmath/remainderd2.h>
|
||||||
|
|
||||||
|
vector double
|
||||||
|
remainderd2(vector double x, vector double yy)
|
||||||
|
{
|
||||||
|
return _remainderd2(x, yy);
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user