/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Copyright 2010-2014 Danny Robson */ #include "maths.hpp" #include /////////////////////////////////////////////////////////////////////////////// template T cruft::log2up (T v) { return log2 ((v << 1) - 1); } template uint32_t cruft::log2up (uint32_t); template uint64_t cruft::log2up (uint64_t); /////////////////////////////////////////////////////////////////////////////// // Simple instantiations. Some functions aren't used internally to the library // so it's easier to instantiate early and check for broken code at library // build time. template float cruft::smoothstep (float, float, float); template double cruft::smoothstep (double, double, double);