Chronaxis用户手册English
本页目录

chronaxis.core.temporal_clock

源码基线:8904c2f744951857659abd40aaa3535d57faf53c

1"""检查本批实际边界对应的计时增量,不构造另一条时间轴。23实际模式不传增量;固定/DBC模式由上游仅在所选驱动更新时传入一个周期,4其余有效期、EOF等边界传0。增量仅供检测器当前候选计时,不进入事件输出。5"""678def require_clock_advances(ticks, advances, record_clock, previous):9    """核对计时模式和有限批增量。1011    参数: ticks为已校验完整组、advances为非负整数tuple或None,previous为上次实际时间。12    返回: None。异常: TypeError/ValueError,不推进任何状态;首点不能虚构前序周期。13    """14    if type(record_clock) is not bool:15        raise TypeError('record_clock需要bool')16    if not record_clock:17        if advances is not None:18            raise ValueError('实际计时不能混入固定周期增量')19        return20    if type(advances) is not tuple or len(advances) != len(ticks):21        raise TypeError('记录计时需要与完整组等长的增量tuple')22    if any(type(value) is not int or not 0 <= value < (1 << 63) for value in advances):23        raise ValueError('计时增量需要非负int64整数')24    if previous is None and advances and advances[0] != 0:25        raise ValueError('首条记录不能增加尚不存在的间隔')26
Chronaxis 用户手册 · 离线阅读