IEEE-754 float32 Boundary Values (.npy)
The single-precision counterpart of the float64 boundary array, including the 2^24 integer limit where consecutive whole numbers stop being representable. Widening float32 to float64 and back must preserve every one of these bit patterns.
| Case | Value | Class |
|---|---|---|
| positive zero | 0.0 | positive zero |
| negative zero | -0.0 | negative zero |
| smallest subnormal | 1.401298464324817e-45 | normal |
| smallest normal | 1.1754943508222875e-38 | normal |
| machine epsilon | 1.1920928955078125e-07 | normal |
| one plus epsilon | 1.0000001192092896 | normal |
| one | 1.0 | normal |
| largest finite | 3.4028234663852886e+38 | normal |
Specifications
- Dtype
- float32
- Elements
- 12
- Smallest Subnormal
- 1.401298464324817e-45
- Smallest Normal
- 1.1754943508222875e-38
- Largest Finite
- 3.4028234663852886e38
- Integer Boundary
- 2^24 = 16777216
- Byte Order
- little-endian
Testing contract
Expected to pass- Scenario
- Load the array, widen it to float64, narrow it back to float32 and compare the bit patterns.
- Expected result
- All 12 bit patterns survive the round trip unchanged, and 16777216.0 and 16777217.0 both decode as 16777216.0 because 2^24+1 is not representable in single precision.
What is a .npy file?
NPY is NumPy's native binary format for a single array. A short header records the dtype, shape, and memory order, followed by the raw array bytes, so an array round-trips exactly without any text parsing. It is the standard way to persist embeddings, tensors, and numeric matrices in the Python data stack.
How to use this file
Use an example .npy to test array loaders (numpy.load), tensor and embedding pipelines, and converters between .npy, JSON, and columnar formats like Parquet.
How to use this file for testing
“IEEE-754 float32 Boundary Values (.npy)” is a deterministic Novus Examples fixture for Scientific data, Error handling. Citation catalogs (BibTeX, RIS), chemistry structures (MDL Molfile, PDB), and gridded binary data (NetCDF, FITS) — for testing reference managers, molecule viewers, and scientific-data loaders.
Documented properties for this file: NPY · 176 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Scientific fixtures are small, valid, and fully synthetic — no real organism, patient, sample, or observation. Point your parser or loader at the file and check it reads the documented records, variables, or headers; binary formats ship a readable twin or metadata listing for comparison.
Related files
- npyfloat64 Subnormal Ladder — Gradual Underflow (.npy)A ten-step ladder from the smallest representable double up across the subnormal boundary into normal range, showing precision degrading to a single significant bit. Any pipeline running with flush-to-zero enabled turns the first eight entries into plain zeros without reporting anything.

- npyfloat64 to float32 Precision Loss — Paired Array (.npy)The precision-loss cases as a two-column float64 array holding the original value beside its float32 round trip, both kept at double width so the difference itself is representable. Subtracting the columns gives the error directly without a second narrowing step.

- jsonIEEE-754 float64 Boundary Values — JSON With No NaN Literal (.json)The same boundary values as strict RFC 8259 JSON, where non-finite numbers are null in the numeric field and text in the string field because the standard has no NaN or Infinity literal. It is the fixture for the encoder that emits bare NaN and produces JSON nothing else will parse.

- npyIEEE-754 float64 Boundary Values (.npy)The sixteen structurally distinct float64 values a numeric pipeline has to survive, in binary form: both zeros, both subnormal limits, the smallest normal, epsilon, the largest finite value, both infinities, a quiet NaN and the 2^53 integer boundary. Round-tripping this array is the minimum bar for any float64 codec.

- jsonIntegers Beyond 2^53 in JSON — Silent Identifier Corruption (.json)Six large integers written both as JSON numbers and as strings, including the 2^53 boundary where consecutive integers stop being distinguishable in a double. A parser backed by doubles turns 9007199254740993 into 9007199254740992 and reports no error at all.

- npyNaN Payloads and Signalling NaNs (.npy)Six distinct NaN bit patterns — quiet, signalling, signed and payload-carrying — stored as float64. They are all NaN and none equals another, so any code that deduplicates, sorts or hashes them by value is doing something undefined and this array proves it.

Generated by generation/scientific.py. Free for any use, no attribution required — license.