mirror of
				https://github.com/janet-lang/janet
				synced 2025-10-31 15:43:01 +00:00 
			
		
		
		
	First commit removing the integer number type. This should
remove some complexity and unexpected behavior around numbers in general as all numbers are the same number type, IEEE 754 double precision numbers. Also update examples and tests, some of which were out of date. Some more testing may be needed for new changes to numbers.
This commit is contained in:
		| @@ -82,17 +82,17 @@ static void janetc_loadconst(JanetCompiler *c, Janet k, int32_t reg) { | ||||
|         case JANET_FALSE: | ||||
|             janetc_emit(c, (reg << 8) | JOP_LOAD_FALSE); | ||||
|             break; | ||||
|         case JANET_INTEGER: | ||||
|         case JANET_NUMBER: | ||||
|             { | ||||
|                 int32_t i = janet_unwrap_integer(k); | ||||
|                 if (i <= INT16_MAX && i >= INT16_MIN) { | ||||
|                     janetc_emit(c, | ||||
|                             (i << 16) | | ||||
|                             (reg << 8) | | ||||
|                             JOP_LOAD_INTEGER); | ||||
|                     break; | ||||
|                 } | ||||
|                 goto do_constant; | ||||
|                 double dval = janet_unwrap_number(k); | ||||
|                 int32_t i = (int32_t) dval; | ||||
|                 if (dval != i || !(dval >= INT16_MIN && dval <= INT16_MAX)) | ||||
|                     goto do_constant; | ||||
|                 janetc_emit(c, | ||||
|                         (i << 16) | | ||||
|                         (reg << 8) | | ||||
|                         JOP_LOAD_INTEGER); | ||||
|                 break; | ||||
|             } | ||||
|         default: | ||||
|         do_constant: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Calvin Rose
					Calvin Rose