BOOL GEN_has_properties(void* vgen, char prop) { Gen* gen = (Gen*)vgen; if (!gen) return FALSE; if ((prop & GEN_PROP_SLACK) && !GEN_is_slack(gen)) return FALSE; if ((prop & GEN_PROP_REG) && !GEN_is_regulator(gen)) return FALSE; if ((prop & GEN_PROP_NOT_REG) && GEN_is_regulator(gen)) return FALSE; if ((prop & GEN_PROP_NOT_SLACK) && GEN_is_slack(gen)) return FALSE; if ((prop & GEN_PROP_P_ADJUST) && !GEN_is_P_adjustable(gen)) return FALSE; return TRUE; }
BOOL BUS_is_regulated_by_gen(Bus* bus) { if (bus) return GEN_is_regulator(bus->reg_gen); else return FALSE; }