|
From: <pj...@us...> - 2011-03-19 20:47:27
|
Revision: 7248
http://jython.svn.sourceforge.net/jython/?rev=7248&view=rev
Author: pjenvey
Date: 2011-03-19 20:47:21 +0000 (Sat, 19 Mar 2011)
Log Message:
-----------
add real/imag/numerator/denominator where applicable to the numbers
Modified Paths:
--------------
trunk/jython/src/org/python/core/PyComplex.java
trunk/jython/src/org/python/core/PyFloat.java
trunk/jython/src/org/python/core/PyInteger.java
trunk/jython/src/org/python/core/PyLong.java
Modified: trunk/jython/src/org/python/core/PyComplex.java
===================================================================
--- trunk/jython/src/org/python/core/PyComplex.java 2011-03-19 20:39:47 UTC (rev 7247)
+++ trunk/jython/src/org/python/core/PyComplex.java 2011-03-19 20:47:21 UTC (rev 7248)
@@ -707,10 +707,7 @@
@ExposedMethod(doc = BuiltinDocs.complex___pos___doc)
final PyObject complex___pos__() {
- if (getType() == TYPE) {
- return this;
- }
- return new PyComplex(real, imag);
+ return getType() == TYPE ? this : new PyComplex(real, imag);
}
@Override
Modified: trunk/jython/src/org/python/core/PyFloat.java
===================================================================
--- trunk/jython/src/org/python/core/PyFloat.java 2011-03-19 20:39:47 UTC (rev 7247)
+++ trunk/jython/src/org/python/core/PyFloat.java 2011-03-19 20:47:21 UTC (rev 7248)
@@ -8,6 +8,7 @@
import java.math.BigDecimal;
import org.python.expose.ExposedClassMethod;
+import org.python.expose.ExposedGet;
import org.python.expose.ExposedMethod;
import org.python.expose.ExposedNew;
import org.python.expose.ExposedType;
@@ -78,6 +79,16 @@
}
}
+ @ExposedGet(name = "real", doc = BuiltinDocs.float_real_doc)
+ public PyObject getReal() {
+ return getType() == TYPE ? this : new PyFloat(value);
+ }
+
+ @ExposedGet(name = "imag", doc = BuiltinDocs.float_imag_doc)
+ public PyObject getImag() {
+ return Py.newFloat(0.0);
+ }
+
/**
* Determine if this float is not infinity, nor NaN.
*/
Modified: trunk/jython/src/org/python/core/PyInteger.java
===================================================================
--- trunk/jython/src/org/python/core/PyInteger.java 2011-03-19 20:39:47 UTC (rev 7247)
+++ trunk/jython/src/org/python/core/PyInteger.java 2011-03-19 20:47:21 UTC (rev 7248)
@@ -7,6 +7,7 @@
import java.io.Serializable;
import java.math.BigInteger;
+import org.python.expose.ExposedGet;
import org.python.expose.ExposedMethod;
import org.python.expose.ExposedNew;
import org.python.expose.ExposedType;
@@ -105,6 +106,26 @@
}
}
+ @ExposedGet(name = "real", doc = BuiltinDocs.int_real_doc)
+ public PyObject getReal() {
+ return int___int__();
+ }
+
+ @ExposedGet(name = "imag", doc = BuiltinDocs.int_imag_doc)
+ public PyObject getImag() {
+ return Py.newInteger(0);
+ }
+
+ @ExposedGet(name = "numerator", doc = BuiltinDocs.int_numerator_doc)
+ public PyObject getNumerator() {
+ return int___int__();
+ }
+
+ @ExposedGet(name = "denominator", doc = BuiltinDocs.int_denominator_doc)
+ public PyObject getDenominator() {
+ return Py.newInteger(1);
+ }
+
public int getValue() {
return value;
}
@@ -814,10 +835,7 @@
@ExposedMethod(doc = BuiltinDocs.int___int___doc)
final PyInteger int___int__() {
- if (getType() == TYPE) {
- return this;
- }
- return Py.newInteger(getValue());
+ return getType() == TYPE ? this : Py.newInteger(getValue());
}
@Override
Modified: trunk/jython/src/org/python/core/PyLong.java
===================================================================
--- trunk/jython/src/org/python/core/PyLong.java 2011-03-19 20:39:47 UTC (rev 7247)
+++ trunk/jython/src/org/python/core/PyLong.java 2011-03-19 20:47:21 UTC (rev 7248)
@@ -8,6 +8,7 @@
import java.math.BigDecimal;
import java.math.BigInteger;
+import org.python.expose.ExposedGet;
import org.python.expose.ExposedMethod;
import org.python.expose.ExposedNew;
import org.python.expose.ExposedType;
@@ -129,6 +130,26 @@
return new BigDecimal(value).toBigInteger();
}
+ @ExposedGet(name = "real", doc = BuiltinDocs.long_real_doc)
+ public PyObject getReal() {
+ return long___long__();
+ }
+
+ @ExposedGet(name = "imag", doc = BuiltinDocs.long_imag_doc)
+ public PyObject getImag() {
+ return Py.newLong(0);
+ }
+
+ @ExposedGet(name = "numerator", doc = BuiltinDocs.long_numerator_doc)
+ public PyObject getNumerator() {
+ return long___long__();
+ }
+
+ @ExposedGet(name = "denominator", doc = BuiltinDocs.long_denominator_doc)
+ public PyObject getDenominator() {
+ return Py.newLong(1);
+ }
+
@Override
public String toString() {
return long_toString();
@@ -876,10 +897,7 @@
@ExposedMethod(doc = BuiltinDocs.long___long___doc)
final PyObject long___long__() {
- if (getType() == TYPE) {
- return this;
- }
- return Py.newLong(getValue());
+ return getType() == TYPE ? this : Py.newLong(getValue());
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|