MOS substitution: Difference between revisions
| Line 226: | Line 226: | ||
# nX X (nY Y nZ Z) (brightness_of_filling_mos) | (nY + nZ - gcd(nY, nZ) - brightness_of_filling_mos) | # nX X (nY Y nZ Z) (brightness_of_filling_mos) | (nY + nZ - gcd(nY, nZ) - brightness_of_filling_mos) | ||
def mos_subst(nX, nY, nZ, sizeX, sizeY, sizeZ, brightness_of_filling_mos): | def mos_subst(nX, nY, nZ, sizeX, sizeY, sizeZ, brightness_of_filling_mos): | ||
template_mos = mos_word(nX, nY + nZ, ["X", "W"], brightness=nX + nY + nZ - gcd(nX, nY + nZ)) # word | template_mos = mos_word(nX, nY + nZ, ["X", "W"], brightness=nX + nY + nZ - gcd(nX, nY + nZ)) # MOS word with nX X's and nY + nZ W's; X is treated as L and W as s for purposes of brightness | ||
filling_mos = mos_word(nY, nZ, ["Y", "Z"], brightness=brightness_of_filling_mos) | filling_mos = mos_word(nY, nZ, ["Y", "Z"], brightness=brightness_of_filling_mos) | ||
word = letterwise_subst(template_mos, "W", filling_mos) | word = letterwise_subst(template_mos, "W", filling_mos) | ||