Given an array of integers, write an algorithm to detect if a specific number is a perfect square without using built-in library functions.
Implement the function for one supplied integer. Return True if it is the square of an integer and False otherwise. Do not use square-root, power, or equivalent library functions; avoid floating-point arithmetic.
def is_perfect_square(num):