splashmath.h
来自「swf文件查看工具,能够看flash文件的格式」· C头文件 代码 · 共 90 行
H
90 行
//========================================================================//// SplashMath.h////========================================================================#ifndef SPLASHMATH_H#define SPLASHMATH_H#include <aconf.h>#if USE_FIXEDPONT#include "FixedPoint.h"#else#include <math.h>#endif#include "SplashTypes.h"static inline SplashCoord splashAbs(SplashCoord x) {#if USE_FIXEDPOINT return FixedPoint::abs(x);#else return fabs(x);#endif}static inline int splashFloor(SplashCoord x) {#if USE_FIXEDPOINT return FixedPoint::floor(x);#else return (int)floor(x);#endif}static inline int splashCeil(SplashCoord x) {#if USE_FIXEDPOINT return FixedPoint::ceil(x);#else return (int)ceil(x);#endif}static inline int splashRound(SplashCoord x) {#if USE_FIXEDPOINT return FixedPoint::round(x);#else return (int)floor(x + 0.5);#endif}static inline SplashCoord splashSqrt(SplashCoord x) {#if USE_FIXEDPOINT return FixedPoint::sqrt(x);#else return sqrt(x);#endif}static inline SplashCoord splashPow(SplashCoord x, SplashCoord y) {#if USE_FIXEDPOINT return FixedPoint::pow(x, y);#else return pow(x, y);#endif}static inline SplashCoord splashDist(SplashCoord x0, SplashCoord y0, SplashCoord x1, SplashCoord y1) { SplashCoord dx, dy; dx = x1 - x0; dy = y1 - y0;#if USE_FIXEDPOINT // this handles the situation where dx*dx or dy*dy is too large to // fit in the 16.16 fixed point format SplashCoord dxa, dya; dxa = splashAbs(dx); dya = splashAbs(dy); if (dxa == 0 && dya == 0) { return 0; } else if (dxa > dya) { return dxa * FixedPoint::sqrt(dya / dxa + 1); } else { return dya * FixedPoint::sqrt(dxa / dya + 1); }#else return sqrt(dx * dx + dy * dy);#endif}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?