A update
This commit is contained in:
		
							
								
								
									
										26
									
								
								lib/math/software_float.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								lib/math/software_float.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
|  | ||||
| #include <math/software_float.h> | ||||
|  | ||||
|  | ||||
| /* A float = FLOAT_SIGN * FLOAT_MANTISSA * (2 ^ FLOAT_EXPONENT) */ | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| soft_float32_t decode_float(uint32_t raw) | ||||
| { | ||||
|   soft_float32_t f; | ||||
|   f.sign = (raw >> 31) & 1; | ||||
|   f.exponent = (raw >> 23) & 0xFF; | ||||
|   f.mantissa = raw & 0x7FFFFF; | ||||
|   return f; | ||||
| } | ||||
|  | ||||
| soft_float64_t decode_double(uint64_t raw) | ||||
| { | ||||
|     soft_float64_t d; | ||||
|     d.sign = (raw >> 63) & 1; | ||||
|     d.exponent = (raw >> 52) & 0x7FF; | ||||
|     d.mantissa = raw & 0xFFFFFFFFFFFFF; | ||||
|     return d; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user