#include "python.h" namespace python { // Float::Float(const Object & obj) {{{ Float::Float(const Object & obj) { set( PyNumber_Float( *obj ), true ); } // }}} // Float & Float::operator=(const Float & obj) {{{ Float & Float::operator=(const Object & obj) { return (*this = *obj); } // }}} // Float & Float::operator=(PyObject * obj) {{{ Float & Float::operator=(PyObject * obj) { if (ptr() != obj) { set(obj); } return *this; } // }}} // Float & Float::operator=(int v) {{{ Float & Float::operator=(int v) { set(PyFloat_FromDouble( static_cast( v ) ), true ); return *this; } // }}} // Float & Float::operator=(long v) {{{ Float & Float::operator=(long v) { set(PyFloat_FromDouble( static_cast( v ) ), true ); return *this; } // }}} // Float & Float::operator=(const Int & v) {{{ Float & Float::operator=(const Int & v) { // Convert into long, then to double, then to Float set(PyFloat_FromDouble( static_cast( static_cast< long > ( v ) ) ), true ); return *this; } // }}} // Float & Float::operator=(double v) {{{ Float & Float::operator=(double v) { set(PyFloat_FromDouble(v),true); return *this; } // }}} // Float::operator double() const {{{ Float::operator double() const { return PyFloat_AsDouble( ptr() ); } // }}} // bool Float::accepts(PyObject * pyobj) const {{{ bool Float::accepts(PyObject * pyobj) const { return (pyobj != NULL) and PyFloat_Check(pyobj); } // }}} }