Skip to content

Commit

Permalink
Simplify and improve performance of boolean operators
Browse files Browse the repository at this point in the history
  • Loading branch information
SSoelvsten committed Jun 21, 2021
1 parent d222569 commit f80a924
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/adiar/data.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -158,24 +158,24 @@ namespace adiar {

const bool_op imp_op = [](ptr_t sink1, ptr_t sink2) -> ptr_t
{
return create_sink_ptr(!value_of(sink1) || value_of(sink2));
return or_op(negate(sink1), sink2);
};

const bool_op invimp_op = [](ptr_t sink1, ptr_t sink2) -> ptr_t
{
return create_sink_ptr(!value_of(sink2) || value_of(sink1));
return or_op(negate(sink2), sink1);
};

const bool_op equiv_op = xnor_op;

const bool_op diff_op = [](ptr_t sink1, ptr_t sink2) -> ptr_t
{
return create_sink_ptr(value_of(sink1) && !value_of(sink2));
return and_op(sink1, negate(sink2));
};

const bool_op less_op = [](ptr_t sink1, ptr_t sink2) -> ptr_t
{
return create_sink_ptr(!value_of(sink1) && value_of(sink2));
return and_op(negate(sink1), sink2);
};

bool can_right_shortcut(const bool_op &op, const ptr_t sink)
Expand Down

0 comments on commit f80a924

Please sign in to comment.