In reply to Amit Kumar Panda:
Did you mean Ordinary and not pure?
A pure function is any function whose return value can be determined solely by its input arguments. A pure function has no internal states variables and no references to any external variables other than those passed in as inputs. A pure function does not have modify any of its arguments (side-effects) and its return value is the only result of executing the function.
SystemVerilog requires functions to be pure when used in certain constructs like constant expressions, constraints and assertions.