Expand description
What IBM Enterprise COBOL does with numeric data, on top of what the machine does (zarch).
Where the manuals leave the answer to the generated code, the choice made here is an entry in
assumptions::ASSUMPTIONS until an oracle run settles it.
Re-exports§
pub use binary::Native;pub use options::Arith;pub use options::Assumed;pub use options::BinCheck;pub use options::CicsReturnWarning;pub use options::Compliance;pub use options::Currency;pub use options::Dialect;pub use options::DispSign;pub use options::ExtraPlace;pub use options::FastsrtAdvPrint;pub use options::Initcheck;pub use options::IntDate;pub use options::LeServices;pub use options::Nsymbol;pub use options::Numcheck;pub use options::Numproc;pub use options::Options;pub use options::Parmcheck;pub use options::Pgmname;pub use options::ProgramScope;pub use options::Qualify;pub use options::Quote;pub use options::SortKeys;pub use options::Switched;pub use options::Trunc;pub use options::TruncCheck;pub use options::UnresolvedCalls;pub use options::Vlr;pub use options::VsamOpenFs;pub use options::ZonCheck;
Modules§
- assumptions
- binary
- float
- Moves between fixed-point decimal and COMP-1/COMP-2, and floating-point intermediates. Each
conversion here is an assumption: see
crate::assumptions::FLOAT_FROM_DECIMAL,crate::assumptions::FLOAT_TO_DECIMALandcrate::assumptions::FLOAT_NARROWING_ROUNDS. - governs
- What an assumption of the register governs, and what a run holds of it: the statement kinds and data usages of each program it entered, with the options in force for it. An assumption governs a run when every trigger of one of its conjunctions is among one program’s facts, so the ids a run names are those its outcome could have rested on, at program granularity: an over-approximation.
- options
- precision
- Fixed-point intermediate results: how many integer and decimal places IBM carries for each
operation, and exact arithmetic that drops exactly the digits it drops. See
crate::assumptions::INTERMEDIATE_TABLE. - sign
- Signs of packed and zoned items under NUMPROC. Arithmetic results take the preferred sign under
either setting; the settings differ in whether a sign is repaired on the way through a MOVE and
whether a comparison is algebraic. See
crate::assumptions::PFD_MOVES_BYTESandcrate::assumptions::PFD_COMPARES_LOGICALLY. - zoned
- Zoned decimal into packed, as the generated code does it. PACK takes at most 16 bytes in each
operand, so an item of more than 16 digits is packed in parts; see
crate::assumptions::LONG_ZONED_BY_PACKS.