arch/parisc/math-emu/float.h
Source file repositories/reference/linux-study-clean/arch/parisc/math-emu/float.h
File Facts
- System
- Linux kernel
- Corpus path
arch/parisc/math-emu/float.h- Extension
.h- Size
- 21715 bytes
- Lines
- 569
- Domain
- Architecture Layer
- Bucket
- arch/parisc
- Inferred role
- Architecture Layer: implementation source
- Status
- source implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
fpbits.hhppa.hfpu.h
Detected Declarations
struct dintstruct dblwdstruct quadwd
Annotated Snippet
struct dint {
int wd0;
unsigned int wd1;
};
struct dblwd {
unsigned int wd0;
unsigned int wd1;
};
/*
* Quad number.
* +-------+-------+-------+-------+-------+-------+-------+-------+
* |s| integer part1 |
* +-------+-------+-------+-------+-------+-------+-------+-------+
*
* +-------+-------+-------+-------+-------+-------+-------+-------+
* | integer part 2 |
* +-------+-------+-------+-------+-------+-------+-------+-------+
*
* +-------+-------+-------+-------+-------+-------+-------+-------+
* | integer part 3 |
* +-------+-------+-------+-------+-------+-------+-------+-------+
*
* +-------+-------+-------+-------+-------+-------+-------+-------+
* | integer part 4 |
* +-------+-------+-------+-------+-------+-------+-------+-------+
*/
struct quadwd {
int wd0;
unsigned int wd1;
unsigned int wd2;
unsigned int wd3;
};
typedef struct quadwd quad_integer;
/* useful typedefs */
typedef unsigned int sgl_floating_point;
typedef struct dblwd dbl_floating_point;
typedef struct dint dbl_integer;
typedef struct dblwd dbl_unsigned;
/*
* Define the different precisions' parameters.
*/
#define SGL_BITLENGTH 32
#define SGL_EMAX 127
#define SGL_EMIN (-126)
#define SGL_BIAS 127
#define SGL_WRAP 192
#define SGL_INFINITY_EXPONENT (SGL_EMAX+SGL_BIAS+1)
#define SGL_THRESHOLD 32
#define SGL_EXP_LENGTH 8
#define SGL_P 24
#define DBL_BITLENGTH 64
#define DBL_EMAX 1023
#define DBL_EMIN (-1022)
#define DBL_BIAS 1023
#define DBL_WRAP 1536
#define DBL_INFINITY_EXPONENT (DBL_EMAX+DBL_BIAS+1)
#define DBL_THRESHOLD 64
#define DBL_EXP_LENGTH 11
#define DBL_P 53
#define QUAD_BITLENGTH 128
#define QUAD_EMAX 16383
#define QUAD_EMIN (-16382)
#define QUAD_BIAS 16383
#define QUAD_WRAP 24576
#define QUAD_INFINITY_EXPONENT (QUAD_EMAX+QUAD_BIAS+1)
#define QUAD_P 113
/* Boolean Values etc. */
#define FALSE 0
#define TRUE (!FALSE)
#define NOT !
#define XOR ^
/* other constants */
#undef NULL
#define NULL 0
#define NIL 0
#define SGL 0
#define DBL 1
#define BADFMT 2
#define QUAD 3
Annotation
- Immediate include surface: `fpbits.h`, `hppa.h`, `fpu.h`.
- Detected declarations: `struct dint`, `struct dblwd`, `struct quadwd`.
- Atlas domain: Architecture Layer / arch/parisc.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.