瀏覽代碼

Add more info on the nature of NAN

(cherry picked from commit 5e3c625e24b32fbc91a3cb17f74a16d45f9a5a66)
Ninni Pipping 2 年之前
父節點
當前提交
0e697e102b

+ 6 - 0
doc/classes/PackedFloat32Array.xml

@@ -53,6 +53,7 @@
 			<description>
 			<description>
 				Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [param before] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
 				Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [param before] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
 				[b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
 				[b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="clear">
 		<method name="clear">
@@ -66,6 +67,7 @@
 			<param index="0" name="value" type="float" />
 			<param index="0" name="value" type="float" />
 			<description>
 			<description>
 				Returns the number of times an element is in the array.
 				Returns the number of times an element is in the array.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="duplicate">
 		<method name="duplicate">
@@ -87,6 +89,7 @@
 			<param index="1" name="from" type="int" default="0" />
 			<param index="1" name="from" type="int" default="0" />
 			<description>
 			<description>
 				Searches the array for a value and returns its index or [code]-1[/code] if not found. Optionally, the initial search index can be passed.
 				Searches the array for a value and returns its index or [code]-1[/code] if not found. Optionally, the initial search index can be passed.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="has" qualifiers="const">
 		<method name="has" qualifiers="const">
@@ -94,6 +97,7 @@
 			<param index="0" name="value" type="float" />
 			<param index="0" name="value" type="float" />
 			<description>
 			<description>
 				Returns [code]true[/code] if the array contains [param value].
 				Returns [code]true[/code] if the array contains [param value].
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="insert">
 		<method name="insert">
@@ -143,6 +147,7 @@
 			<param index="1" name="from" type="int" default="-1" />
 			<param index="1" name="from" type="int" default="-1" />
 			<description>
 			<description>
 				Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array.
 				Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="set">
 		<method name="set">
@@ -173,6 +178,7 @@
 			<return type="void" />
 			<return type="void" />
 			<description>
 			<description>
 				Sorts the elements of the array in ascending order.
 				Sorts the elements of the array in ascending order.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="to_byte_array" qualifiers="const">
 		<method name="to_byte_array" qualifiers="const">

+ 6 - 0
doc/classes/PackedFloat64Array.xml

@@ -53,6 +53,7 @@
 			<description>
 			<description>
 				Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [param before] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
 				Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [param before] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
 				[b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
 				[b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="clear">
 		<method name="clear">
@@ -66,6 +67,7 @@
 			<param index="0" name="value" type="float" />
 			<param index="0" name="value" type="float" />
 			<description>
 			<description>
 				Returns the number of times an element is in the array.
 				Returns the number of times an element is in the array.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="duplicate">
 		<method name="duplicate">
@@ -87,6 +89,7 @@
 			<param index="1" name="from" type="int" default="0" />
 			<param index="1" name="from" type="int" default="0" />
 			<description>
 			<description>
 				Searches the array for a value and returns its index or [code]-1[/code] if not found. Optionally, the initial search index can be passed.
 				Searches the array for a value and returns its index or [code]-1[/code] if not found. Optionally, the initial search index can be passed.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="has" qualifiers="const">
 		<method name="has" qualifiers="const">
@@ -94,6 +97,7 @@
 			<param index="0" name="value" type="float" />
 			<param index="0" name="value" type="float" />
 			<description>
 			<description>
 				Returns [code]true[/code] if the array contains [param value].
 				Returns [code]true[/code] if the array contains [param value].
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="insert">
 		<method name="insert">
@@ -143,6 +147,7 @@
 			<param index="1" name="from" type="int" default="-1" />
 			<param index="1" name="from" type="int" default="-1" />
 			<description>
 			<description>
 				Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array.
 				Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="set">
 		<method name="set">
@@ -173,6 +178,7 @@
 			<return type="void" />
 			<return type="void" />
 			<description>
 			<description>
 				Sorts the elements of the array in ascending order.
 				Sorts the elements of the array in ascending order.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="to_byte_array" qualifiers="const">
 		<method name="to_byte_array" qualifiers="const">

+ 6 - 0
doc/classes/PackedVector2Array.xml

@@ -53,6 +53,7 @@
 			<description>
 			<description>
 				Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [param before] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
 				Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [param before] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
 				[b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
 				[b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="clear">
 		<method name="clear">
@@ -66,6 +67,7 @@
 			<param index="0" name="value" type="Vector2" />
 			<param index="0" name="value" type="Vector2" />
 			<description>
 			<description>
 				Returns the number of times an element is in the array.
 				Returns the number of times an element is in the array.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="duplicate">
 		<method name="duplicate">
@@ -87,6 +89,7 @@
 			<param index="1" name="from" type="int" default="0" />
 			<param index="1" name="from" type="int" default="0" />
 			<description>
 			<description>
 				Searches the array for a value and returns its index or [code]-1[/code] if not found. Optionally, the initial search index can be passed.
 				Searches the array for a value and returns its index or [code]-1[/code] if not found. Optionally, the initial search index can be passed.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="has" qualifiers="const">
 		<method name="has" qualifiers="const">
@@ -94,6 +97,7 @@
 			<param index="0" name="value" type="Vector2" />
 			<param index="0" name="value" type="Vector2" />
 			<description>
 			<description>
 				Returns [code]true[/code] if the array contains [param value].
 				Returns [code]true[/code] if the array contains [param value].
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="insert">
 		<method name="insert">
@@ -143,6 +147,7 @@
 			<param index="1" name="from" type="int" default="-1" />
 			<param index="1" name="from" type="int" default="-1" />
 			<description>
 			<description>
 				Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array.
 				Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="set">
 		<method name="set">
@@ -173,6 +178,7 @@
 			<return type="void" />
 			<return type="void" />
 			<description>
 			<description>
 				Sorts the elements of the array in ascending order.
 				Sorts the elements of the array in ascending order.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="to_byte_array" qualifiers="const">
 		<method name="to_byte_array" qualifiers="const">

+ 6 - 0
doc/classes/PackedVector3Array.xml

@@ -52,6 +52,7 @@
 			<description>
 			<description>
 				Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [param before] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
 				Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [param before] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
 				[b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
 				[b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="clear">
 		<method name="clear">
@@ -65,6 +66,7 @@
 			<param index="0" name="value" type="Vector3" />
 			<param index="0" name="value" type="Vector3" />
 			<description>
 			<description>
 				Returns the number of times an element is in the array.
 				Returns the number of times an element is in the array.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="duplicate">
 		<method name="duplicate">
@@ -86,6 +88,7 @@
 			<param index="1" name="from" type="int" default="0" />
 			<param index="1" name="from" type="int" default="0" />
 			<description>
 			<description>
 				Searches the array for a value and returns its index or [code]-1[/code] if not found. Optionally, the initial search index can be passed.
 				Searches the array for a value and returns its index or [code]-1[/code] if not found. Optionally, the initial search index can be passed.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="has" qualifiers="const">
 		<method name="has" qualifiers="const">
@@ -93,6 +96,7 @@
 			<param index="0" name="value" type="Vector3" />
 			<param index="0" name="value" type="Vector3" />
 			<description>
 			<description>
 				Returns [code]true[/code] if the array contains [param value].
 				Returns [code]true[/code] if the array contains [param value].
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="insert">
 		<method name="insert">
@@ -142,6 +146,7 @@
 			<param index="1" name="from" type="int" default="-1" />
 			<param index="1" name="from" type="int" default="-1" />
 			<description>
 			<description>
 				Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array.
 				Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="set">
 		<method name="set">
@@ -172,6 +177,7 @@
 			<return type="void" />
 			<return type="void" />
 			<description>
 			<description>
 				Sorts the elements of the array in ascending order.
 				Sorts the elements of the array in ascending order.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="to_byte_array" qualifiers="const">
 		<method name="to_byte_array" qualifiers="const">

+ 6 - 0
doc/classes/Vector2.xml

@@ -412,6 +412,7 @@
 			<description>
 			<description>
 				Returns [code]true[/code] if the vectors are not equal.
 				Returns [code]true[/code] if the vectors are not equal.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator *">
 		<operator name="operator *">
@@ -494,6 +495,7 @@
 			<param index="0" name="right" type="Vector2" />
 			<param index="0" name="right" type="Vector2" />
 			<description>
 			<description>
 				Compares two [Vector2] vectors by first checking if the X value of the left vector is less than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors. This operator is useful for sorting vectors.
 				Compares two [Vector2] vectors by first checking if the X value of the left vector is less than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &lt;=">
 		<operator name="operator &lt;=">
@@ -501,6 +503,7 @@
 			<param index="0" name="right" type="Vector2" />
 			<param index="0" name="right" type="Vector2" />
 			<description>
 			<description>
 				Compares two [Vector2] vectors by first checking if the X value of the left vector is less than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors. This operator is useful for sorting vectors.
 				Compares two [Vector2] vectors by first checking if the X value of the left vector is less than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator ==">
 		<operator name="operator ==">
@@ -509,6 +512,7 @@
 			<description>
 			<description>
 				Returns [code]true[/code] if the vectors are exactly equal.
 				Returns [code]true[/code] if the vectors are exactly equal.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &gt;">
 		<operator name="operator &gt;">
@@ -516,6 +520,7 @@
 			<param index="0" name="right" type="Vector2" />
 			<param index="0" name="right" type="Vector2" />
 			<description>
 			<description>
 				Compares two [Vector2] vectors by first checking if the X value of the left vector is greater than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors. This operator is useful for sorting vectors.
 				Compares two [Vector2] vectors by first checking if the X value of the left vector is greater than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &gt;=">
 		<operator name="operator &gt;=">
@@ -523,6 +528,7 @@
 			<param index="0" name="right" type="Vector2" />
 			<param index="0" name="right" type="Vector2" />
 			<description>
 			<description>
 				Compares two [Vector2] vectors by first checking if the X value of the left vector is greater than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors. This operator is useful for sorting vectors.
 				Compares two [Vector2] vectors by first checking if the X value of the left vector is greater than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator []">
 		<operator name="operator []">

+ 6 - 0
doc/classes/Vector3.xml

@@ -417,6 +417,7 @@
 			<description>
 			<description>
 				Returns [code]true[/code] if the vectors are not equal.
 				Returns [code]true[/code] if the vectors are not equal.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator *">
 		<operator name="operator *">
@@ -513,6 +514,7 @@
 			<param index="0" name="right" type="Vector3" />
 			<param index="0" name="right" type="Vector3" />
 			<description>
 			<description>
 				Compares two [Vector3] vectors by first checking if the X value of the left vector is less than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, and then with the Z values. This operator is useful for sorting vectors.
 				Compares two [Vector3] vectors by first checking if the X value of the left vector is less than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, and then with the Z values. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &lt;=">
 		<operator name="operator &lt;=">
@@ -520,6 +522,7 @@
 			<param index="0" name="right" type="Vector3" />
 			<param index="0" name="right" type="Vector3" />
 			<description>
 			<description>
 				Compares two [Vector3] vectors by first checking if the X value of the left vector is less than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, and then with the Z values. This operator is useful for sorting vectors.
 				Compares two [Vector3] vectors by first checking if the X value of the left vector is less than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, and then with the Z values. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator ==">
 		<operator name="operator ==">
@@ -528,6 +531,7 @@
 			<description>
 			<description>
 				Returns [code]true[/code] if the vectors are exactly equal.
 				Returns [code]true[/code] if the vectors are exactly equal.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &gt;">
 		<operator name="operator &gt;">
@@ -535,6 +539,7 @@
 			<param index="0" name="right" type="Vector3" />
 			<param index="0" name="right" type="Vector3" />
 			<description>
 			<description>
 				Compares two [Vector3] vectors by first checking if the X value of the left vector is greater than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, and then with the Z values. This operator is useful for sorting vectors.
 				Compares two [Vector3] vectors by first checking if the X value of the left vector is greater than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, and then with the Z values. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &gt;=">
 		<operator name="operator &gt;=">
@@ -542,6 +547,7 @@
 			<param index="0" name="right" type="Vector3" />
 			<param index="0" name="right" type="Vector3" />
 			<description>
 			<description>
 				Compares two [Vector3] vectors by first checking if the X value of the left vector is greater than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, and then with the Z values. This operator is useful for sorting vectors.
 				Compares two [Vector3] vectors by first checking if the X value of the left vector is greater than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, and then with the Z values. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator []">
 		<operator name="operator []">

+ 6 - 0
doc/classes/Vector4.xml

@@ -273,6 +273,7 @@
 			<description>
 			<description>
 				Returns [code]true[/code] if the vectors are not equal.
 				Returns [code]true[/code] if the vectors are not equal.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator *">
 		<operator name="operator *">
@@ -361,6 +362,7 @@
 			<param index="0" name="right" type="Vector4" />
 			<param index="0" name="right" type="Vector4" />
 			<description>
 			<description>
 				Compares two [Vector4] vectors by first checking if the X value of the left vector is less than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
 				Compares two [Vector4] vectors by first checking if the X value of the left vector is less than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &lt;=">
 		<operator name="operator &lt;=">
@@ -368,6 +370,7 @@
 			<param index="0" name="right" type="Vector4" />
 			<param index="0" name="right" type="Vector4" />
 			<description>
 			<description>
 				Compares two [Vector4] vectors by first checking if the X value of the left vector is less than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
 				Compares two [Vector4] vectors by first checking if the X value of the left vector is less than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator ==">
 		<operator name="operator ==">
@@ -376,6 +379,7 @@
 			<description>
 			<description>
 				Returns [code]true[/code] if the vectors are exactly equal.
 				Returns [code]true[/code] if the vectors are exactly equal.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &gt;">
 		<operator name="operator &gt;">
@@ -383,6 +387,7 @@
 			<param index="0" name="right" type="Vector4" />
 			<param index="0" name="right" type="Vector4" />
 			<description>
 			<description>
 				Compares two [Vector4] vectors by first checking if the X value of the left vector is greater than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
 				Compares two [Vector4] vectors by first checking if the X value of the left vector is greater than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &gt;=">
 		<operator name="operator &gt;=">
@@ -390,6 +395,7 @@
 			<param index="0" name="right" type="Vector4" />
 			<param index="0" name="right" type="Vector4" />
 			<description>
 			<description>
 				Compares two [Vector4] vectors by first checking if the X value of the left vector is greater than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
 				Compares two [Vector4] vectors by first checking if the X value of the left vector is greater than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
+				[b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator []">
 		<operator name="operator []">

+ 6 - 0
doc/classes/float.xml

@@ -54,6 +54,7 @@
 			<param index="0" name="right" type="float" />
 			<param index="0" name="right" type="float" />
 			<description>
 			<description>
 				Returns [code]true[/code] if two floats are different from each other.
 				Returns [code]true[/code] if two floats are different from each other.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator !=">
 		<operator name="operator !=">
@@ -215,6 +216,7 @@
 			<param index="0" name="right" type="float" />
 			<param index="0" name="right" type="float" />
 			<description>
 			<description>
 				Returns [code]true[/code] if the left float is less than the right one.
 				Returns [code]true[/code] if the left float is less than the right one.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &lt;">
 		<operator name="operator &lt;">
@@ -229,6 +231,7 @@
 			<param index="0" name="right" type="float" />
 			<param index="0" name="right" type="float" />
 			<description>
 			<description>
 				Returns [code]true[/code] if the left float is less than or equal to the right one.
 				Returns [code]true[/code] if the left float is less than or equal to the right one.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &lt;=">
 		<operator name="operator &lt;=">
@@ -244,6 +247,7 @@
 			<description>
 			<description>
 				Returns [code]true[/code] if both floats are exactly equal.
 				Returns [code]true[/code] if both floats are exactly equal.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method @GlobalScope.is_equal_approx] or [method @GlobalScope.is_zero_approx] instead, which are more reliable.
 				[b]Note:[/b] Due to floating-point precision errors, consider using [method @GlobalScope.is_equal_approx] or [method @GlobalScope.is_zero_approx] instead, which are more reliable.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator ==">
 		<operator name="operator ==">
@@ -258,6 +262,7 @@
 			<param index="0" name="right" type="float" />
 			<param index="0" name="right" type="float" />
 			<description>
 			<description>
 				Returns [code]true[/code] if the left float is greater than the right one.
 				Returns [code]true[/code] if the left float is greater than the right one.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &gt;">
 		<operator name="operator &gt;">
@@ -272,6 +277,7 @@
 			<param index="0" name="right" type="float" />
 			<param index="0" name="right" type="float" />
 			<description>
 			<description>
 				Returns [code]true[/code] if the left float is greater than or equal to the right one.
 				Returns [code]true[/code] if the left float is greater than or equal to the right one.
+				[b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this operator may not be accurate if NaNs are included.
 			</description>
 			</description>
 		</operator>
 		</operator>
 		<operator name="operator &gt;=">
 		<operator name="operator &gt;=">

+ 1 - 1
modules/gdscript/doc_classes/@GDScript.xml

@@ -274,7 +274,7 @@
 			[b]Warning:[/b] Numeric infinity is only a concept with floating-point numbers, and has no equivalent for integers. Dividing an integer number by [code]0[/code] will not result in [constant INF] and will result in a run-time error instead.
 			[b]Warning:[/b] Numeric infinity is only a concept with floating-point numbers, and has no equivalent for integers. Dividing an integer number by [code]0[/code] will not result in [constant INF] and will result in a run-time error instead.
 		</constant>
 		</constant>
 		<constant name="NAN" value="nan">
 		<constant name="NAN" value="nan">
-			"Not a Number", an invalid floating-point value. [constant NAN] has special properties, including that it is not equal to itself ([code]NAN == NAN[/code] returns [code]false[/code]). It is output by some invalid operations, such as dividing floating-point [code]0.0[/code] by [code]0.0[/code].
+			"Not a Number", an invalid floating-point value. [constant NAN] has special properties, including that [code]!=[/code] always returns [code]true[/code], while other comparison operators always return [code]false[/code]. This is true even when comparing with itself ([code]NAN == NAN[/code] returns [code]false[/code] and [code]NAN != NAN[/code] returns [code]true[/code]). It is returned by some invalid operations, such as dividing floating-point [code]0.0[/code] by [code]0.0[/code].
 			[b]Warning:[/b] "Not a Number" is only a concept with floating-point numbers, and has no equivalent for integers. Dividing an integer [code]0[/code] by [code]0[/code] will not result in [constant NAN] and will result in a run-time error instead.
 			[b]Warning:[/b] "Not a Number" is only a concept with floating-point numbers, and has no equivalent for integers. Dividing an integer [code]0[/code] by [code]0[/code] will not result in [constant NAN] and will result in a run-time error instead.
 		</constant>
 		</constant>
 	</constants>
 	</constants>