The program is based on Newcastle University's Game Engineering source code and Kevinmoran's GJK and EPA implementation.
The main improvement compared to Kevinmoran's is it can work out not only the penetration depth and normal of collision, but also the contact points of colliders.
Besides, it also contains a few other algorithm implementations about ray casting, collision detection, basic primitive test, etc.