Oktonionų vektorinis formatas ============================= NEFORMALUS APRAŠYMAS ==================== Duomenų sraute oktonionai atvaizduojami kaip realių skaičių vektoriai, faile su komentarais. Realūs skaičiai (oktonionų komponentės) eilutėse atskiriami bet kokiu tarpų ar tabuliacijų skaičiumi. Kiekvienoje duomenų eilutėje gali būti vienas, du ar daugiau oktonionų, priklausomai nuo to, kokia yra juos naudojančios programos semantika. Komentarai yra eilutės, kurių pirmas simbolis yra „#“. Tuščios eilutės leistinos ir turi būti ignoruojamos. LABIAU FORMALIZUOTAS APRAŠYMAS ============================== Tekste minimi simboliai interpretuotini taip: -- Tarpo simbolis: ' ' (ASCII dešimtainis kodas 32, šešioliktainis kodas 0x20, Unikodo simbolis U+0020); -- Tabuliacijos simbolis: HT (C kalbos seka "\t", ASCII dešimtainis kodas 9, šešioliktainis kodas 0x09, Unikodo simbolis U+0009); -- Grįžimo simbolis: CR, (C kalbos seka "\r", ASCII dešimtainis kodas 13, šešioliktainis kodas 0D, Unikodo simbolis U+000D); -- Numerio simbolis: '#' (ASCII dešimtainis kodas 35, šešioliktainis kodas 0x23, Unikodo simbolis U+0023); -- Tušti simboliai: tarpo, tabuliacijos arba grįžimo simboliai; -- Tušti skirtukai: tarpo arba tabuliacijos simboliai. Oktonionai duomenų sraute pateikiami tokiu pavidalu: -- eilutės, kurių *pirmas simbolis* yra '#' (numerio simbolis, arba "grotelės") talpina komentarus; tokios eilutės turi būti ignoruojamos; -- tuščios eilutės, t.y. eilutės neturinčios nei vieno simbolio, arba tik tuščius simbolius (angl. "whitespace", t.y. tarpo, tabuliacijos arba "\r" simbolius) turi būti tyliai ignoruojamos; -- Prieš pirmąją duomenų eilutę duomenų sraute GALI būti nurodyta stulpelių pavadinimų eilutė, prasidedanti simboliais '#@', o toliau išvardinami oktonionų vienetai, pvz.: #@ 1 i j k l il jl kl Jei duomenų sraute nurodomas ne vienas, o keli oktonionai, stulpelių antraštės pakartojamos reikiamą skaičių kartų; pvz. jei sraute kiekvienoje eilutėje nurodomi du oktonionai, stulpelių pavadinimų eilutė atrodys taip: #@ 1 i j k l il jl kl 1 i j k l il jl kl Stulpelių antraščių eilutės pradžioje yra simboliai „#@“ (be kabučių); po jų seka vienas ar daugiau tarpų arba tabuliacijos simbolių. -- visos kitos eilutės yra duomenų eilutės; kiekvienoje duomenų eilutėje yra N realių skaičių; N yra 8 kartotinis. Skaičiai atskiriame bet kokiu kiekiu tuščių skirtukų (t.y. tarpų arba tabuliacijos simbolių). Visi eilutės pradžioje ar pabaigoje esantys tušti skirtukai turi būti ignoruojami. -- Realūs skaičiai yra teksto fragmentai (po eilutės suskaldymo per skirtukus), kurie atitinka PCRE [1] reguliarią išraišką: ^([-+]?(\d+\.?|\d*\.\d+)([Ee][-+]?\d+)?)$ Duomenų srauto pavyzdys: -- failo (srauto), turinčio po vieną oktonioną vienoje eilutėje, pavyzdys: # Pirma failo 'oktonionai.dat' eilutė; duomenys: #@ 1 i j k l il jl kl 1 2 3 4 5 6 7e7 8.0 -1 2 3 4 5 6 -111 4.0 # Paskutinė failo 'oktonionai.dat' eilutė. Kiekviena duomenų srauto eilutė -- tai oktoniono komponentės, surašytos viena paskui kitą, naudojant antraštėje pažymėtą menamųjų vienetų tvarką. -- failo (srauto), turinčio po tris oktonionus vienoje eilutėje, pavyzdys: # Pirma failo 'oktonionai3.dat' eilutė; duomenys: #@ 1 i j k l il jl kl 1 i j k l il jl kl 1 i j k l il jl kl 1 2 3 4 5 6 7e7 8.0 11.1 2 3 4 5 6 7e7 8.0 1 2 3 4 5 6 7e7 8.0 -1 2 3 4 5 6 -111 4.0 -12.0 2 3 4 5 6 -111 4.0 -1 2 3 4 5 6 -111 4.0 # Paskutinė failo 'oktonionai3.dat' eilutė. Pastaba: skaitomumui pagerinti, tarp atskirų oktonionų įvesti papildomi tarpai, o stulpelių antraštės papildomų tarpų pagalba išlygiuotos su stulpelių reikšmėmis. Šie papildomi tarpai nėra reikšminiai, programa turi skaityti duomenis, net jei tarpų nebūtų. ŠALTINIŲ NUORODOS ================= 1. Wikipedia (2020) Perl Compatible Regular Expressions. https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions [žiūrėta 2020-02-16 11:29:10 EET]