Old Cyrillic / Church Slavonic Numerals¶
An Old Cyrillic numeral engine that deterministically sums the Greek-derived letter values of a Church Slavonic word (1-900). The raw total is stamped over a single structural result symbol. Historical letter-form variants (koppa/cherv for 90, ksi for 60, uk/izhitsa for 400, omega for 800) are configurable, and letters with no numeral value are rejected by default rather than dropped.
from fortune_telling_core import Querent, ReadingRequest
from fortune_telling_core.traditions.cyrillic_slavonic_numerals import (
CYRILLIC_SLAVONIC_NUMERALS_DECK,
CYRILLIC_SLAVONIC_NUMERALS_SPREAD,
build_engine,
)
request = ReadingRequest(
deck_id=CYRILLIC_SLAVONIC_NUMERALS_DECK.id,
spread_id=CYRILLIC_SLAVONIC_NUMERALS_SPREAD.id,
querent=Querent(id="sample", display_name="Sample", attributes={"name": "миро"}),
)
reading = build_engine().cast(request)
# м=40, и=8, р=100, о=70 -> total 218
cyrillic_slavonic_numerals ¶
CYRILLIC_SLAVONIC_NUMERALS_DECK
module-attribute
¶
CYRILLIC_SLAVONIC_NUMERALS_DECK = Deck(
id="cyrillic_slavonic_numerals.deck.total.v1",
symbols=(
Symbol(
id=CYRILLIC_SLAVONIC_NUMERALS_RESULT_SYMBOL,
name="Old Cyrillic Numeral Total",
attributes={"kind": "raw_total"},
),
),
)
CYRILLIC_SLAVONIC_NUMERALS_SPREAD
module-attribute
¶
CYRILLIC_SLAVONIC_NUMERALS_SPREAD = Spread(
id="cyrillic_slavonic_numerals.spread.name.v1",
name="Old Cyrillic Numeral Total",
positions=(
Position(
"total",
"Total",
"The summed Old Cyrillic numeral value.",
),
),
)
KoppaMode ¶
LetterTable ¶
Bases: StrEnum
Supported Old Cyrillic numeral tables.
COMMON_CHURCH_SLAVONIC
class-attribute
instance-attribute
¶
Omega800Mode ¶
TitloMode ¶
U400Mode ¶
UnvaluedLettersMode ¶
Bases: StrEnum
How obsolete but unvalued letters are handled.
XiMode ¶
CyrillicSlavonicNumeralsEngine ¶
Bases: AbstractEngine
Old Cyrillic / Church Slavonic numeral engine.
deck ¶
Return the Old Cyrillic numerals deck.
Source code in src/fortune_telling_core/traditions/cyrillic_slavonic_numerals/engine.py
spread ¶
Return the Old Cyrillic numerals spread.
Source code in src/fortune_telling_core/traditions/cyrillic_slavonic_numerals/engine.py
draw ¶
Compute the Old Cyrillic total as a deterministic draw.
Source code in src/fortune_telling_core/traditions/cyrillic_slavonic_numerals/engine.py
cast ¶
Compute an Old Cyrillic numerals reading without a caller RNG.
Source code in src/fortune_telling_core/traditions/cyrillic_slavonic_numerals/engine.py
build_engine ¶
Create an Old Cyrillic / Church Slavonic numeral engine.