Skip to content

Solution to Exercise 3.28 #836

@clean99

Description

@clean99
function logical_or(s1, s2) { return s1 === 1 || s2 === 1 ? 1 : s1 === 0 || s1 === 1 ? s2 === 0 || s2 === 1 ? 0 : error(s2, "invalid signal") : error(s1, "invalid signal"); } function or_gate(a1, a2, output) { function or_action_function() { const new_value = logical_or(get_signal(a1), get_signal(a2)); after_delay(or_gate_delay, () => set_signal(output, new_value)); }; add_action(a1, or_action_function); add_action(a2, or_action_function); return "ok"; }

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions