Вы не первый человек который купился на фразу 'зачем изобретать велосипед?'. Объесню:
1. Чтобы не иметь в коде чужые ошибки.
2. Чтобы знать как работает программа что ты написал.
3. Чтобы научится строить самолеты.
4. Чтобы разобратся в том как работают велосипеды.
То что вы ишете — сложный алгоритм (сам разбирался), не думайте что найдете что-то одной функцией. Конешно есть какое-то приблежение, но качеством оно врядли пахнет.