X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=libs%2Flib3ds%2Ffloat.c;fp=libs%2Flib3ds%2Ffloat.c;h=4dd9efff6814dfd2e462bc2eddd2fe02291d7262;hb=6c322d339ec9c5063c8f47117633b46e2a8eafd0;hp=0000000000000000000000000000000000000000;hpb=787ad7856f5074db4fe805b15bfca61553895de1;p=summerhack diff --git a/libs/lib3ds/float.c b/libs/lib3ds/float.c new file mode 100644 index 0000000..4dd9eff --- /dev/null +++ b/libs/lib3ds/float.c @@ -0,0 +1,47 @@ +/* + * The 3D Studio File Format Library + * Copyright (C) 1996-2001 by J.E. Hoffmann + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * $Id: float.c,v 1.4 2001/01/12 10:29:17 jeh Exp $ + */ +#define LIB3DS_EXPORT +#include + + +/*! + * \defgroup float Floating Point Mathematics + * + * \author J.E. Hoffmann + */ + + +/*! + * \ingroup float + */ +Lib3dsFloat +lib3ds_float_cubic(Lib3dsFloat a, Lib3dsFloat p, Lib3dsFloat q, Lib3dsFloat b, Lib3dsFloat t) +{ + Lib3dsDouble x,y,z,w; + + x=2*t*t*t - 3*t*t + 1; + y=-2*t*t*t + 3*t*t; + z=t*t*t - 2*t*t + t; + w=t*t*t - t*t; + return((Lib3dsFloat)(x*a + y*b + z*p + w*q)); +} +