Primitive double equals to NaN

Wild Goat

Can someone explain how does it possible that primitive double type equals to NaN after following computations. Can you tell me some cases when double could end up as Nan? Thanks!

double averagePrecisionExisting = 0;
for (int i = 0; i < x; i++)
    averagePrecisionExisting += logicWhichReturnsPrimitiveDouble();

double meanAveragePrecisionExisting = averagePrecisionExisting / x.size();    
System.out.println("Mean average precision of existing algorithm  = " + meanAveragePrecisionExisting);

Output: Mean average precision of existing algorithm = NaN

Jon Skeet

Assuming your loop is meant to use x.size(), then it's pretty simple - if x.size() is 0, you'll be computing 0/0, which is NaN.

Otherwise, it could be that logicWhichReturnsPrimitiveDouble() returns a NaN for whatever reason. It's not clear why you've emphasized the "primitive" part in various places in your post - a primitive double is just as capable of representing NaN as Double. Indeed, the type of Double.NaN is double...

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Cannot invoke equals(char) on the primitive type char

분류에서Dev

Double class vs double primitive data type

분류에서Dev

Casting non primitive Double from JSONObject

분류에서Dev

c function returning nan instead of double

분류에서Dev

Float 및 Double NaN (Not-a-Number) 값

분류에서Dev

Double.NaN의 변수 할당은 Double.NegativeInfinity로 바뀝니다.

분류에서Dev

숫자가 아닌 NULL, NaN을 Double로 변환

분류에서Dev

스레드 "main"java.lang.VerifyError의 예외 : org.bouncycastle.asn1.ASN1Primitive 클래스가 최종 메소드 equals를 재정의합니다. (Ljava / lang / Object;) Z

분류에서Dev

PyAutoGui Nan NaN NaN

분류에서Dev

Issue with .equals()

분류에서Dev

Are there primitive types in Ruby?

분류에서Dev

NetLogo : introducing a delay primitive?

분류에서Dev

Invalid JSON primitive: object

분류에서Dev

Jackson serializer for primitive types

분류에서Dev

Primitive types in Reflection API

분류에서Dev

JSON Invalide primitive

분류에서Dev

Casting a primitive to a custom class

분류에서Dev

이유가 Double.NaN = 0.0d / 0.0의 정의에서 "D"는 무엇입니까?

분류에서Dev

Abstract and Primitive Data Types (ADT)

분류에서Dev

Junit of equals 방법

분류에서Dev

equals () 재정의

분류에서Dev

C # this.Equals (typeof (...));

분류에서Dev

Hashcode & equals implementation

분류에서Dev

== 및 .equals () in Java

분류에서Dev

자바, JTextField .equals

분류에서Dev

Scala Spark는 데이터 프레임과 데이터 세트에서 Double.NaN을 다르게 처리합니다.

분류에서Dev

Why isn't there an `unquote` Lisp primitive?

분류에서Dev

Questions on hexadecimal-notation for primitive initialization

분류에서Dev

Struct overhead of C# primitive type aliases?

Related 관련 기사

뜨겁다태그

보관