[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #51804] java-9: java.base/java.lang.Double can
From: |
Dmitri A. Sergatskov |
Subject: |
[Octave-bug-tracker] [bug #51804] java-9: java.base/java.lang.Double cannot be cast to java.base/java.lang.Integer |
Date: |
Fri, 9 Oct 2020 16:41:45 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 |
Follow-up Comment #15, bug #51804 (project octave):
With java 14 and 15 I now get:
test libinterp/octave-value/ov-java.cc-tst
***** testif HAVE_JAVA; usejava ("jvm")
n = javaObject ("java.lang.Float", 1.35);
assert (n.compareTo (1.0), 1);
assert (n.compareTo (1.35), 0);
assert (n.compareTo (10), -1);
assert (n.doubleValue (), 1.35, 1e7);
!!!!! test failed
[java] java.lang.ClassCastException: class java.lang.Double cannot be cast to
class java.lang.Float (java.lang.Double and java.lang.Float are in module
java.base of loader 'bootstrap')
Also:
octave:9> n = javaObject ("java.lang.Float", 1.35)
n =
<Java object: java.lang.Float>
octave:10> m = methods (n, '-full')
m =
{
[1,1] = Float(java.lang.String) throws java.lang.NumberFormatException
[2,1] = Float(double)
[3,1] = Float(float)
[4,1] = boolean equals(java.lang.Object)
[5,1] = java.lang.String toString(float)
[6,1] = java.lang.String toString()
[7,1] = int hashCode()
[8,1] = int hashCode(float)
[9,1] = float min(float, float)
[10,1] = float max(float, float)
[11,1] = int floatToRawIntBits(float)
[12,1] = int floatToIntBits(float)
[13,1] = float intBitsToFloat(int)
[14,1] = int compareTo(java.lang.Object)
[15,1] = int compareTo(java.lang.Float)
[16,1] = byte byteValue()
[17,1] = short shortValue()
[18,1] = int intValue()
[19,1] = long longValue()
[20,1] = float floatValue()
[21,1] = double doubleValue()
[22,1] = java.lang.Float valueOf(float)
[23,1] = java.lang.Float valueOf(java.lang.String) throws
java.lang.NumberFormatException
[24,1] = java.lang.String toHexString(float)
[25,1] = int compare(float, float)
[26,1] = java.lang.Object
resolveConstantDesc(java.lang.invoke.MethodHandles.Lookup) throws
java.lang.ReflectiveOperationException
[27,1] = java.lang.Float
resolveConstantDesc(java.lang.invoke.MethodHandles.Lookup)
[28,1] = java.util.Optional describeConstable()
[29,1] = boolean isNaN(float)
[30,1] = boolean isNaN()
[31,1] = float parseFloat(java.lang.String) throws
java.lang.NumberFormatException
[32,1] = boolean isInfinite()
[33,1] = boolean isInfinite(float)
[34,1] = boolean isFinite(float)
[35,1] = float sum(float, float)
[36,1] = void wait(long, int) throws java.lang.InterruptedException
[37,1] = void wait() throws java.lang.InterruptedException
[38,1] = void wait(long) throws java.lang.InterruptedException
[39,1] = java.lang.Class getClass()
[40,1] = void notify()
[41,1] = void notifyAll()
}
Should we change this test FAIL to XFAIL?
Dmitri.
--
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?51804>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #51804] java-9: java.base/java.lang.Double cannot be cast to java.base/java.lang.Integer,
Dmitri A. Sergatskov <=