Release 0.1.0
This commit is contained in:
1 parent
fae05a1709
commit
c8bd9b7435
230 files changed
+17003
-15
No files matched your search
Generated
+55
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
Copyright (c) 2014-present, Facebook, Inc.
|
||||
All rights reserved.
|
||||
|
||||
This source code is licensed under the BSD-style license found in the
|
||||
LICENSE file in the root directory of this source tree. An additional grant
|
||||
of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
|
||||
#import "POPDefines.h"
|
||||
#import "POPVector.h"
|
||||
|
||||
NS_INLINE CGFloat sqrtr(CGFloat f)
|
||||
{
|
||||
#if CGFLOAT_IS_DOUBLE
|
||||
return sqrt(f);
|
||||
#else
|
||||
return sqrtf(f);
|
||||
#endif
|
||||
}
|
||||
|
||||
// round to nearest sub; pass 2.0 to round to every 0.5 (eg: retina pixels)
|
||||
NS_INLINE CGFloat POPSubRound(CGFloat f, CGFloat sub)
|
||||
{
|
||||
return round(f * sub) / sub;
|
||||
}
|
||||
|
||||
#define MIX(a, b, f) ((a) + (f) * ((b) - (a)))
|
||||
|
||||
// the longer the duration, the higher the necessary precision
|
||||
#define SOLVE_EPS(dur) (1. / (1000. * (dur)))
|
||||
|
||||
#define _EQLF_(x, y, epsilon) (fabsf ((x) - (y)) < epsilon)
|
||||
|
||||
extern void POPInterpolateVector(NSUInteger count, CGFloat *dst, const CGFloat *from, const CGFloat *to, CGFloat f);
|
||||
|
||||
extern double POPTimingFunctionSolve(const double vec[4], double t, double eps);
|
||||
|
||||
// quadratic mapping of t [0, 1] to [start, end]
|
||||
extern double POPQuadraticOutInterpolation(double t, double start, double end);
|
||||
|
||||
// normalize value to [0, 1] based on its range [startValue, endValue]
|
||||
extern double POPNormalize(double value, double startValue, double endValue);
|
||||
|
||||
// project a normalized value [0, 1] to a given range [start, end]
|
||||
extern double POPProjectNormal(double n, double start, double end);
|
||||
|
||||
// solve a quadratic equation of the form a * x^2 + b * x + c = 0
|
||||
extern void POPQuadraticSolve(CGFloat a, CGFloat b, CGFloat c, CGFloat &x1, CGFloat &x2);
|
||||
|
||||
// for a given tension return the bouncy 3 friction that produces no bounce
|
||||
extern double POPBouncy3NoBounce(double tension);
|
||||
Reference in new issue
Block a user