# ENDF Fortran test These tests are intended for ENDF integer/float numbers parsing examples. Internal `nkl::data::endf::parse_endf_integer()` and `nkl::data::endf::parse_endf_float()` must have the same behavior. ## Usage ```console # edit float.f90 or integer.f90 $ make $ ./integer $ ./float ``` ## Integers ``` | 0| = 0 | +0| = 0 | -0| = 0 | 1| = 1 | +1| = 1 | -1| = -1 |1 | = 1 | 1 | = 1 | 1| = 1 | 0000000001| = 1 |1 2| = 12 |1 2 3 4 5 6| = 123456 | 1| = 1 | 12| = 12 | 123| = 123 | 1234| = 1234 | 12345| = 12345 | 123456| = 123456 | 1234567| = 1234567 | 12345678| = 12345678 | 123456789| = 123456789 | 1234567890| = 1234567890 | a| = invalid | -a| = invalid | +a| = invalid | *1| = invalid | -| = invalid | +| = invalid | -+| = invalid | +-| = invalid | ++| = invalid | --| = invalid | 12345678.9| = invalid | 1.2345E+12| = invalid | | = 0 ``` ## Floats ``` | 0.0| = 0.000000000E+000 | +0.0| = 0.000000000E+000 | -0.0| = -0.000000000E+000 | 1.0| = 1.000000000E+000 | +1.0| = 1.000000000E+000 | -1.0| = -1.000000000E+000 | 1.0 | = 1.000000000E+000 | 1.0 | = 1.000000000E+000 | 1.0| = 1.000000000E+000 | 1.00000000| = 1.000000000E+000 | 0001.00000| = 1.000000000E+000 | 00000001.0| = 1.000000000E+000 | .| = 0.000000000E+000 | -| = 0.000000000E+000 | +| = 0.000000000E+000 | -.| = -0.000000000E+000 | +.| = 0.000000000E+000 | 1E0| = 1.000000000E+000 | 1E+0| = 1.000000000E+000 | 1E-0| = 1.000000000E+000 | 1E0000000| = 1.000000000E+000 | 1E+0000000| = 1.000000000E+000 | 1E-0000000| = 1.000000000E+000 | E1| = 0.000000000E+000 | E12| = 0.000000000E+000 | E123| = 0.000000000E+000 | E+1| = 0.000000000E+000 | E+12| = 0.000000000E+000 | E+123| = 0.000000000E+000 | E-1| = 0.000000000E+000 | E-12| = 0.000000000E+000 | E-123| = 0.000000000E+000 | .E1| = 0.000000000E+000 | +.E1| = 0.000000000E+000 | -.E1| = -0.000000000E+000 | 0.| = 0.000000000E+000 | 1.| = 1.000000000E+000 | -1.| = -1.000000000E+000 |1 . 2| = 1.200000000E+000 |1 . 2 e - 3| = 1.200000000E-003 |1 e 2| = 1.000000000E+002 |1. e -2| = 1.000000000E-002 |- 1 . e + 2| = -1.000000000E+002 |+ 1 . e - 2| = 1.000000000E-002 | - 1 . 2 | = -1.200000000E+000 | 1| = 1.000000000E+000 | 12| = 1.200000000E+001 | 123| = 1.230000000E+002 | 1234| = 1.234000000E+003 | 12345| = 1.234500000E+004 | 123456| = 1.234560000E+005 | 1234567| = 1.234567000E+006 | 12345678| = 1.234567800E+007 | 123456789| = 1.234567890E+008 | 1234567890| = 1.234567890E+009 | 1.| = 1.000000000E+000 | 1.2| = 1.200000000E+000 | 1.23| = 1.230000000E+000 | 1.234| = 1.234000000E+000 | 1.2345| = 1.234500000E+000 | 1.23456| = 1.234560000E+000 | 1.234567| = 1.234567000E+000 | 1.2345678| = 1.234567800E+000 | 1.23456789| = 1.234567890E+000 |1.234567890| = 1.234567890E+000 | 1.234567E1| = 1.234567000E+001 | 1.23456E+1| = 1.234560000E+001 | 1.23456E-1| = 1.234560000E-001 | 1.23456E12| = 1.234560000E+012 | 1.2345E+12| = 1.234500000E+012 | 1.2345E-12| = 1.234500000E-012 | 1.2345E123| = 1.234500000E+123 | 1.234E+123| = 1.234000000E+123 | 1.234E-123| = 1.234000000E-123 | 1.234567+1| = 1.234567000E+001 | 1.234567-1| = 1.234567000E-001 | 1.23456+12| = 1.234560000E+012 | 1.23456-12| = 1.234560000E-012 | 1.2345+123| = 1.234500000E+123 | 1.2345-123| = 1.234500000E-123 | 1.2345d+12| = 1.234500000E+012 | 1.2345D+12| = 1.234500000E+012 | NaN | = NaN | nan | = NaN | NAN | = NaN | inf | = Infinity | INF | = Infinity | infinity | = Infinity | INFINITY | = Infinity |-inf | = -Infinity |-infinity | = -Infinity |+inf | = Infinity |+infinity | = Infinity | a| = invalid | -a| = invalid | +a| = invalid | *1| = invalid | +-| = invalid | ++| = invalid | --| = invalid | e| = invalid | E| = invalid | 1E| = invalid | 1+| = invalid | 1-| = invalid | 1E+| = invalid | 1E-| = invalid | e1.0| = invalid | e+1.0| = invalid | e-1.0| = invalid | | = 0.000000000E+000 ```