A third review upheld six findings. - std's f64 parse stops adding exponent digits once the exponent reaches 0x10000, so a literal whose exponent offsets about 655,000 zeros was judged wrong both ways: exactly 1 refused, 10^309 accepted. The Rust reader now decides the range rule on the digits, as the referee does: the significant digits and the decimal exponent, with saturating exponent arithmetic, against the 309 digits of 2^1024 − 2^970. The limit is one constant, RANGE_LIMIT, and a test derives it in decimal from 2^1024 and 2^970 and checks it against std's parse where that parse is exact. - The referee passed a zero-padded exponent of over 4300 digits to int(), which Python refuses; it now converts only the significant exponent digits. - quantum-sim §8, the CHANGELOG and SPEC §5 now list both directions of the range change: numbers at or above the limit that earlier builds let through are refused, numbers below it that some builds refused are accepted. §2 says the rule is decided on the digits, at any length. - The corpus README and the wasip2 job comment were stale. The corpus holds both long literals and the padded exponent: an accept file (exactly 1 and exactly 10, written long) and a reject file (10^309). Co-Authored-By: Claude Opus 5.5 <[email protected]>
68 lines
2.7 KiB
JSON
68 lines
2.7 KiB
JSON
{
|
|
"magic_wqc3.wqc": "malformed",
|
|
"v1_ext_other.wqc": "contract",
|
|
"v1_numeric_other.wqc": "contract",
|
|
"v1_frac_31.wqc": "contract",
|
|
"v1_frac_float.wqc": "contract",
|
|
"v1_gateset_rn.wqc": "contract",
|
|
"v1_contract2_in_wqc1.wqc": "contract",
|
|
"v1_fields_missing.wqc": "contract",
|
|
"v1_contract_not_object.wqc": "contract",
|
|
"v1_n_qubits_256.wqc": "malformed",
|
|
"v1_n_qubits_258.wqc": "malformed",
|
|
"v1_contract_twice.wqc": "malformed",
|
|
"v1_oplog_twice.wqc": "malformed",
|
|
"v1_contract_duplicate_member.wqc": "contract",
|
|
"v1_contract_lone_surrogate.wqc": "contract",
|
|
"v1_contract_too_deep.wqc": "contract",
|
|
"v1_n_qubits_minus0.wqc": "malformed",
|
|
"v1_contract_lone_low_surrogate.wqc": "contract",
|
|
"v1_contract_noncharacter.wqc": "contract",
|
|
"v1_contract_raw_noncharacter.wqc": "contract",
|
|
"v1_contract_integer_rounds_to_infinity.wqc": "contract",
|
|
"v1_contract_number_rounds_to_infinity.wqc": "contract",
|
|
"v1_contract_long_literal.wqc": "contract",
|
|
"v1_contract_bom.wqc": "contract",
|
|
"v1_contract_nan.wqc": "contract",
|
|
"v1_contract_control_character.wqc": "contract",
|
|
"v1_measure_duplicate_member.wqc": "malformed",
|
|
"v1_contract_not_utf8.wqc": "contract",
|
|
"v1_contract_number_out_of_range.wqc": "contract",
|
|
"v1_n_qubits_fraction.wqc": "malformed",
|
|
"v1_n_qubits_missing.wqc": "malformed",
|
|
"v1_measure_not_json.wqc": "malformed",
|
|
"short_payload.wqc": "malformed",
|
|
"table_past_end.wqc": "malformed",
|
|
"section_past_end.wqc": "malformed",
|
|
"unknown_section_past_end.wqc": "malformed",
|
|
"no_contract.wqc": "malformed",
|
|
"no_oplog.wqc": "malformed",
|
|
"v1_oplog_short.wqc": "malformed",
|
|
"v1_op_truncated_controls.wqc": "malformed",
|
|
"v1_opcode_10.wqc": "malformed",
|
|
"v1_target_out_of_range.wqc": "invalid",
|
|
"v1_control_out_of_range.wqc": "invalid",
|
|
"v1_control_is_target.wqc": "invalid",
|
|
"v1_phase_0.wqc": "invalid",
|
|
"v1_phase_33.wqc": "invalid",
|
|
"v1_n_ops_u32max.wqc": "malformed",
|
|
"v1_offset_wrap.wqc": "malformed",
|
|
"v2_contract_whitespace.wqc": "contract",
|
|
"v2_contract_key_order.wqc": "contract",
|
|
"v2_contract_extra_member.wqc": "contract",
|
|
"v2_contract1_in_wqc2.wqc": "contract",
|
|
"v2_n_qubits_256.wqc": "malformed",
|
|
"v2_contract_not_object.wqc": "contract",
|
|
"v2_n_qubits_rounds_to_infinity.wqc": "contract",
|
|
"v2_n_qubits_largest_finite.wqc": "malformed",
|
|
"v2_phase_0.wqc": "invalid",
|
|
"v2_measure_twice.wqc": "malformed",
|
|
"v2_measure_seed_signed.wqc": "malformed",
|
|
"v2_duplicate_controls.wqc": "invalid",
|
|
"v2_param_on_h.wqc": "invalid",
|
|
"v2_oplog_trailing_byte.wqc": "malformed",
|
|
"v2_opcode_10.wqc": "malformed",
|
|
"v2_measure_spaced.wqc": "malformed",
|
|
"v2_measure_no_shots.wqc": "malformed",
|
|
"v2_measure_basis_x.wqc": "malformed"
|
|
}
|