@@ -1216,8 +1216,6 @@ get_native_fmtchar(char *result, const char *fmt)
12161216 case 'f' : size = sizeof (float ); break ;
12171217 case 'd' : size = sizeof (double ); break ;
12181218 case 'e' : size = sizeof (float ) / 2 ; break ;
1219- case 'F' : size = 2 * sizeof (float ); break ;
1220- case 'D' : size = 2 * sizeof (double ); break ;
12211219 case '?' : size = sizeof (_Bool ); break ;
12221220 case 'P' : size = sizeof (void * ); break ;
12231221 }
@@ -1262,8 +1260,6 @@ get_native_fmtstr(const char *fmt)
12621260 case 'f' : RETURN ("f" );
12631261 case 'd' : RETURN ("d" );
12641262 case 'e' : RETURN ("e" );
1265- case 'F' : RETURN ("F" );
1266- case 'D' : RETURN ("D" );
12671263 case '?' : RETURN ("?" );
12681264 case 'P' : RETURN ("P" );
12691265 }
@@ -1793,7 +1789,7 @@ unpack_single(PyMemoryViewObject *self, const char *ptr, const char *fmt)
17931789 long long lld ;
17941790 long ld ;
17951791 Py_ssize_t zd ;
1796- double d [ 2 ] ;
1792+ double d ;
17971793 unsigned char uc ;
17981794 void * p ;
17991795
@@ -1831,20 +1827,9 @@ unpack_single(PyMemoryViewObject *self, const char *ptr, const char *fmt)
18311827 case 'N' : UNPACK_SINGLE (zu , ptr , size_t ); goto convert_zu ;
18321828
18331829 /* floats */
1834- case 'f' : UNPACK_SINGLE (d [0 ], ptr , float ); goto convert_double ;
1835- case 'd' : UNPACK_SINGLE (d [0 ], ptr , double ); goto convert_double ;
1836- case 'e' : d [0 ] = PyFloat_Unpack2 (ptr , endian ); goto convert_double ;
1837-
1838- /* complexes */
1839- case 'F' :
1840- d [0 ] = PyFloat_Unpack4 (ptr , endian );
1841- d [1 ] = PyFloat_Unpack4 (ptr + sizeof (float ), endian );
1842- goto convert_double_complex ;
1843-
1844- case 'D' :
1845- d [0 ] = PyFloat_Unpack8 (ptr , endian );
1846- d [1 ] = PyFloat_Unpack8 (ptr + sizeof (double ), endian );
1847- goto convert_double_complex ;
1830+ case 'f' : UNPACK_SINGLE (d , ptr , float ); goto convert_double ;
1831+ case 'd' : UNPACK_SINGLE (d , ptr , double ); goto convert_double ;
1832+ case 'e' : d = PyFloat_Unpack2 (ptr , endian ); goto convert_double ;
18481833
18491834 /* bytes object */
18501835 case 'c' : goto convert_bytes ;
@@ -1872,9 +1857,7 @@ unpack_single(PyMemoryViewObject *self, const char *ptr, const char *fmt)
18721857convert_zu :
18731858 return PyLong_FromSize_t (zu );
18741859convert_double :
1875- return PyFloat_FromDouble (d [0 ]);
1876- convert_double_complex :
1877- return PyComplex_FromDoubles (d [0 ], d [1 ]);
1860+ return PyFloat_FromDouble (d );
18781861convert_bool :
18791862 return PyBool_FromLong (ld );
18801863convert_bytes :
@@ -1906,7 +1889,6 @@ pack_single(PyMemoryViewObject *self, char *ptr, PyObject *item, const char *fmt
19061889 long ld ;
19071890 Py_ssize_t zd ;
19081891 double d ;
1909- Py_complex c ;
19101892 void * p ;
19111893
19121894#if PY_LITTLE_ENDIAN
@@ -2008,25 +1990,6 @@ pack_single(PyMemoryViewObject *self, char *ptr, PyObject *item, const char *fmt
20081990 }
20091991 break ;
20101992
2011- /* complexes */
2012- case 'F' : case 'D' :
2013- c = PyComplex_AsCComplex (item );
2014- if (c .real == -1.0 && PyErr_Occurred ()) {
2015- goto err_occurred ;
2016- }
2017- CHECK_RELEASED_INT_AGAIN (self );
2018- if (fmt [0 ] == 'D' ) {
2019- double x [2 ] = {c .real , c .imag };
2020-
2021- memcpy (ptr , & x , sizeof (x ));
2022- }
2023- else {
2024- float x [2 ] = {(float )c .real , (float )c .imag };
2025-
2026- memcpy (ptr , & x , sizeof (x ));
2027- }
2028- break ;
2029-
20301993 /* bool */
20311994 case '?' :
20321995 ld = PyObject_IsTrue (item );
@@ -3064,24 +3027,6 @@ unpack_cmp(const char *p, const char *q, char fmt,
30643027 return (u == v );
30653028 }
30663029
3067- /* complexes */
3068- case 'F' :
3069- {
3070- float x [2 ], y [2 ];
3071-
3072- memcpy (& x , p , sizeof (x ));
3073- memcpy (& y , q , sizeof (y ));
3074- return (x [0 ] == y [0 ]) && (x [1 ] == y [1 ]);
3075- }
3076- case 'D' :
3077- {
3078- double x [2 ], y [2 ];
3079-
3080- memcpy (& x , p , sizeof (x ));
3081- memcpy (& y , q , sizeof (y ));
3082- return (x [0 ] == y [0 ]) && (x [1 ] == y [1 ]);
3083- }
3084-
30853030 /* bytes object */
30863031 case 'c' : return * p == * q ;
30873032
0 commit comments