@@ -1896,43 +1896,33 @@ void xlim(Numeric left, Numeric right)
1896
1896
}
1897
1897
1898
1898
1899
- inline double * xlim ()
1899
+ inline std::array< double , 2 > xlim ()
1900
1900
{
1901
- detail::_interpreter::get ();
1902
-
1903
1901
PyObject* args = PyTuple_New (0 );
1904
1902
PyObject* res = PyObject_CallObject (detail::_interpreter::get ().s_python_function_xlim , args);
1905
- PyObject* left = PyTuple_GetItem (res,0 );
1906
- PyObject* right = PyTuple_GetItem (res,1 );
1907
-
1908
- double * arr = new double [2 ];
1909
- arr[0 ] = PyFloat_AsDouble (left);
1910
- arr[1 ] = PyFloat_AsDouble (right);
1911
1903
1912
1904
if (!res) throw std::runtime_error (" Call to xlim() failed." );
1913
1905
1914
1906
Py_DECREF (res);
1915
- return arr;
1907
+
1908
+ PyObject* left = PyTuple_GetItem (res,0 );
1909
+ PyObject* right = PyTuple_GetItem (res,1 );
1910
+ return { PyFloat_AsDouble (left), PyFloat_AsDouble (right) };
1916
1911
}
1917
1912
1918
1913
1919
- inline double * ylim ()
1914
+ inline std::array< double , 2 > ylim ()
1920
1915
{
1921
- detail::_interpreter::get ();
1922
-
1923
1916
PyObject* args = PyTuple_New (0 );
1924
1917
PyObject* res = PyObject_CallObject (detail::_interpreter::get ().s_python_function_ylim , args);
1925
- PyObject* left = PyTuple_GetItem (res,0 );
1926
- PyObject* right = PyTuple_GetItem (res,1 );
1927
-
1928
- double * arr = new double [2 ];
1929
- arr[0 ] = PyFloat_AsDouble (left);
1930
- arr[1 ] = PyFloat_AsDouble (right);
1931
1918
1932
1919
if (!res) throw std::runtime_error (" Call to ylim() failed." );
1933
1920
1934
1921
Py_DECREF (res);
1935
- return arr;
1922
+
1923
+ PyObject* left = PyTuple_GetItem (res,0 );
1924
+ PyObject* right = PyTuple_GetItem (res,1 );
1925
+ return { PyFloat_AsDouble (left), PyFloat_AsDouble (right) };
1936
1926
}
1937
1927
1938
1928
template <typename Numeric>
0 commit comments