Re: [Mingw-w64-public] [PATCH] Add the sincos* functions on arm, calling into sin/cos separately

2017-08-03 Thread Martin Storsjö

On Thu, 3 Aug 2017, Kai Tietz via Mingw-w64-public wrote:


Hmm,

is there a chance that this source file is used for none ARM?  If so,
we should reject this on top, as other targets (the exisiting ones)
are already providing this function.


Yes, the other targets already provide this function. This file is only 
built for libarm32, not for the other normal targets - just as we do for 
the existing forwarders in math/arm/*.c.


// Martin



Otherwise patch looks ok for me too.

Regards,
Kai

2017-08-03 0:48 GMT+02:00 JonY via Mingw-w64-public
:

On 07/30/2017 07:45 PM, Martin Storsjö wrote:

On arm (unless --enable-experimental=softmath is set), we pass
sin/cos function calls straight through to msvcrt. We normally
provide implementations of the sincos family of functions, that
provide both return values at once. Provide implementations of
these functions that simply call the sin/cos functions.


Looks OK to me.


---
 mingw-w64-crt/Makefile.am   |  2 +-
 mingw-w64-crt/math/arm/sincos.c | 29 +
 2 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 mingw-w64-crt/math/arm/sincos.c

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 83dbdf6..549b4a9 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -351,7 +351,7 @@ src_libmingwexarm32=\
   math/softmath/sinf.c  math/softmath/sinl.c  math/softmath/tanf.c 
 math/softmath/tanl.c
 else
 src_libmingwexarm32=\
-  math/arm/exp2.c   math/arm/log2.c   math/arm/scalbn.c
+  math/arm/exp2.c   math/arm/log2.c   math/arm/scalbn.c
 math/arm/sincos.c
 endif


diff --git a/mingw-w64-crt/math/arm/sincos.c b/mingw-w64-crt/math/arm/sincos.c
new file mode 100644
index 000..3bb86ee
--- /dev/null
+++ b/mingw-w64-crt/math/arm/sincos.c
@@ -0,0 +1,29 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the mingw-w64 runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#include 
+
+void sincos (double __x, double *p_sin, double *p_cos)
+{
+  *p_sin = sin(__x);
+  *p_cos = cos(__x);
+}
+
+void sincosf (float __x, float *p_sin, float *p_cos)
+{
+  *p_sin = sinf(__x);
+  *p_cos = cosf(__x);
+}
+
+void sincosl (long double __x, long double *p_sin, long double *p_cos)
+{
+#if defined(__arm__) || defined(_ARM_)
+  *p_sin = sin(__x);
+  *p_cos = cos(__x);
+#else
+#error Not supported on your platform yet
+#endif
+}




--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public



--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH] Add the sincos* functions on arm, calling into sin/cos separately

2017-08-03 Thread Kai Tietz via Mingw-w64-public
Hmm,

is there a chance that this source file is used for none ARM?  If so,
we should reject this on top, as other targets (the exisiting ones)
are already providing this function.

Otherwise patch looks ok for me too.

Regards,
Kai

2017-08-03 0:48 GMT+02:00 JonY via Mingw-w64-public
:
> On 07/30/2017 07:45 PM, Martin Storsjö wrote:
>> On arm (unless --enable-experimental=softmath is set), we pass
>> sin/cos function calls straight through to msvcrt. We normally
>> provide implementations of the sincos family of functions, that
>> provide both return values at once. Provide implementations of
>> these functions that simply call the sin/cos functions.
>
> Looks OK to me.
>
>> ---
>>  mingw-w64-crt/Makefile.am   |  2 +-
>>  mingw-w64-crt/math/arm/sincos.c | 29 +
>>  2 files changed, 30 insertions(+), 1 deletion(-)
>>  create mode 100644 mingw-w64-crt/math/arm/sincos.c
>>
>> diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
>> index 83dbdf6..549b4a9 100644
>> --- a/mingw-w64-crt/Makefile.am
>> +++ b/mingw-w64-crt/Makefile.am
>> @@ -351,7 +351,7 @@ src_libmingwexarm32=\
>>math/softmath/sinf.c  math/softmath/sinl.c  math/softmath/tanf.c  
>> math/softmath/tanl.c
>>  else
>>  src_libmingwexarm32=\
>> -  math/arm/exp2.c   math/arm/log2.c   math/arm/scalbn.c
>> +  math/arm/exp2.c   math/arm/log2.c   math/arm/scalbn.c 
>> math/arm/sincos.c
>>  endif
>>
>>
>> diff --git a/mingw-w64-crt/math/arm/sincos.c 
>> b/mingw-w64-crt/math/arm/sincos.c
>> new file mode 100644
>> index 000..3bb86ee
>> --- /dev/null
>> +++ b/mingw-w64-crt/math/arm/sincos.c
>> @@ -0,0 +1,29 @@
>> +/**
>> + * This file has no copyright assigned and is placed in the Public Domain.
>> + * This file is part of the mingw-w64 runtime package.
>> + * No warranty is given; refer to the file DISCLAIMER.PD within this 
>> package.
>> + */
>> +
>> +#include 
>> +
>> +void sincos (double __x, double *p_sin, double *p_cos)
>> +{
>> +  *p_sin = sin(__x);
>> +  *p_cos = cos(__x);
>> +}
>> +
>> +void sincosf (float __x, float *p_sin, float *p_cos)
>> +{
>> +  *p_sin = sinf(__x);
>> +  *p_cos = cosf(__x);
>> +}
>> +
>> +void sincosl (long double __x, long double *p_sin, long double *p_cos)
>> +{
>> +#if defined(__arm__) || defined(_ARM_)
>> +  *p_sin = sin(__x);
>> +  *p_cos = cos(__x);
>> +#else
>> +#error Not supported on your platform yet
>> +#endif
>> +}
>>
>
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH] Add the sincos* functions on arm, calling into sin/cos separately

2017-08-02 Thread JonY via Mingw-w64-public
On 07/30/2017 07:45 PM, Martin Storsjö wrote:
> On arm (unless --enable-experimental=softmath is set), we pass
> sin/cos function calls straight through to msvcrt. We normally
> provide implementations of the sincos family of functions, that
> provide both return values at once. Provide implementations of
> these functions that simply call the sin/cos functions.

Looks OK to me.

> ---
>  mingw-w64-crt/Makefile.am   |  2 +-
>  mingw-w64-crt/math/arm/sincos.c | 29 +
>  2 files changed, 30 insertions(+), 1 deletion(-)
>  create mode 100644 mingw-w64-crt/math/arm/sincos.c
> 
> diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
> index 83dbdf6..549b4a9 100644
> --- a/mingw-w64-crt/Makefile.am
> +++ b/mingw-w64-crt/Makefile.am
> @@ -351,7 +351,7 @@ src_libmingwexarm32=\
>math/softmath/sinf.c  math/softmath/sinl.c  math/softmath/tanf.c   
>math/softmath/tanl.c
>  else
>  src_libmingwexarm32=\
> -  math/arm/exp2.c   math/arm/log2.c   math/arm/scalbn.c
> +  math/arm/exp2.c   math/arm/log2.c   math/arm/scalbn.c  
>math/arm/sincos.c
>  endif
>  
>  
> diff --git a/mingw-w64-crt/math/arm/sincos.c b/mingw-w64-crt/math/arm/sincos.c
> new file mode 100644
> index 000..3bb86ee
> --- /dev/null
> +++ b/mingw-w64-crt/math/arm/sincos.c
> @@ -0,0 +1,29 @@
> +/**
> + * This file has no copyright assigned and is placed in the Public Domain.
> + * This file is part of the mingw-w64 runtime package.
> + * No warranty is given; refer to the file DISCLAIMER.PD within this package.
> + */
> +
> +#include 
> +
> +void sincos (double __x, double *p_sin, double *p_cos)
> +{
> +  *p_sin = sin(__x);
> +  *p_cos = cos(__x);
> +}
> +
> +void sincosf (float __x, float *p_sin, float *p_cos)
> +{
> +  *p_sin = sinf(__x);
> +  *p_cos = cosf(__x);
> +}
> +
> +void sincosl (long double __x, long double *p_sin, long double *p_cos)
> +{
> +#if defined(__arm__) || defined(_ARM_)
> +  *p_sin = sin(__x);
> +  *p_cos = cos(__x);
> +#else
> +#error Not supported on your platform yet
> +#endif
> +}
> 



signature.asc
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


[Mingw-w64-public] [PATCH] Add the sincos* functions on arm, calling into sin/cos separately

2017-07-30 Thread Martin Storsjö
On arm (unless --enable-experimental=softmath is set), we pass
sin/cos function calls straight through to msvcrt. We normally
provide implementations of the sincos family of functions, that
provide both return values at once. Provide implementations of
these functions that simply call the sin/cos functions.
---
 mingw-w64-crt/Makefile.am   |  2 +-
 mingw-w64-crt/math/arm/sincos.c | 29 +
 2 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 mingw-w64-crt/math/arm/sincos.c

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 83dbdf6..549b4a9 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -351,7 +351,7 @@ src_libmingwexarm32=\
   math/softmath/sinf.c  math/softmath/sinl.c  math/softmath/tanf.c 
 math/softmath/tanl.c
 else
 src_libmingwexarm32=\
-  math/arm/exp2.c   math/arm/log2.c   math/arm/scalbn.c
+  math/arm/exp2.c   math/arm/log2.c   math/arm/scalbn.c
 math/arm/sincos.c
 endif
 
 
diff --git a/mingw-w64-crt/math/arm/sincos.c b/mingw-w64-crt/math/arm/sincos.c
new file mode 100644
index 000..3bb86ee
--- /dev/null
+++ b/mingw-w64-crt/math/arm/sincos.c
@@ -0,0 +1,29 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the mingw-w64 runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#include 
+
+void sincos (double __x, double *p_sin, double *p_cos)
+{
+  *p_sin = sin(__x);
+  *p_cos = cos(__x);
+}
+
+void sincosf (float __x, float *p_sin, float *p_cos)
+{
+  *p_sin = sinf(__x);
+  *p_cos = cosf(__x);
+}
+
+void sincosl (long double __x, long double *p_sin, long double *p_cos)
+{
+#if defined(__arm__) || defined(_ARM_)
+  *p_sin = sin(__x);
+  *p_cos = cos(__x);
+#else
+#error Not supported on your platform yet
+#endif
+}
-- 
2.7.4


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public