| Index: src/core/Sk2x.h
|
| diff --git a/src/core/Sk2x.h b/src/core/Sk2x.h
|
| deleted file mode 100644
|
| index f49442563ad66e88dcc2141d6d2192db917594ee..0000000000000000000000000000000000000000
|
| --- a/src/core/Sk2x.h
|
| +++ /dev/null
|
| @@ -1,96 +0,0 @@
|
| -/*
|
| - * Copyright 2015 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#ifndef Sk2x_DEFINED
|
| -#define Sk2x_DEFINED
|
| -
|
| -#include "SkTypes.h"
|
| -#include "SkNx.h"
|
| -
|
| -#define SK2X_PREAMBLE 1
|
| - #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 && !defined(SKNX_NO_SIMD)
|
| - #include "../opts/Sk2x_sse.h"
|
| - #elif defined(SK_ARM_HAS_NEON) && !defined(SKNX_NO_SIMD)
|
| - #include "../opts/Sk2x_neon.h"
|
| - #else
|
| - #include "../opts/Sk2x_none.h"
|
| - #endif
|
| -#undef SK2X_PREAMBLE
|
| -
|
| -template <typename T> class Sk2x;
|
| -typedef Sk2x<float> Sk2f;
|
| -typedef Sk2x<double> Sk2d;
|
| -
|
| -#if SK_SCALAR_IS_FLOAT
|
| - typedef Sk2f Sk2s;
|
| -#elif SK_SCALAR_IS_DOUBLE
|
| - typedef Sk2d Sk2s;
|
| -#endif
|
| -
|
| -// This API is meant to be manageably small, not comprehensive.
|
| -// Please talk to mtklein if you find yourself wanting more.
|
| -template <typename T> class Sk2x {
|
| -public:
|
| - Sk2x(); // Uninitialized; use Sk2x(0) for zero.
|
| - explicit Sk2x(T); // Same as Sk2x(T,T);
|
| - Sk2x(T, T);
|
| -
|
| - Sk2x(const Sk2x& o) { *this = o; }
|
| - Sk2x& operator=(const Sk2x&);
|
| -
|
| - // These assume no particular alignment.
|
| - static Sk2x Load(const T[2]);
|
| - void store(T[2]) const;
|
| -
|
| - Sk2x add(const Sk2x&) const;
|
| - Sk2x subtract(const Sk2x&) const;
|
| - Sk2x multiply(const Sk2x&) const;
|
| - Sk2x divide(const Sk2x&) const;
|
| -
|
| - Sk2x operator +(const Sk2x& o) const { return this->add(o); }
|
| - Sk2x operator -(const Sk2x& o) const { return this->subtract(o); }
|
| - Sk2x operator *(const Sk2x& o) const { return this->multiply(o); }
|
| - Sk2x operator /(const Sk2x& o) const { return this->divide(o); }
|
| -
|
| - Sk2x& operator +=(const Sk2x& o) { return (*this = *this + o); }
|
| - Sk2x& operator -=(const Sk2x& o) { return (*this = *this - o); }
|
| - Sk2x& operator *=(const Sk2x& o) { return (*this = *this * o); }
|
| - Sk2x& operator /=(const Sk2x& o) { return (*this = *this / o); }
|
| -
|
| - Sk2x negate() const { return Sk2x((T)0) - *this; }
|
| - Sk2x operator -() const { return this->negate(); }
|
| -
|
| - Sk2x rsqrt() const; // Approximate 1/this->sqrt().
|
| - Sk2x sqrt() const; // this->multiply(this->rsqrt()) may be faster, but less precise.
|
| -
|
| - Sk2x invert() const; // 1/this.
|
| - Sk2x approxInvert() const; // Approximate 1/this, usually faster but less precise.
|
| -
|
| - static Sk2x Min(const Sk2x&, const Sk2x&);
|
| - static Sk2x Max(const Sk2x&, const Sk2x&);
|
| -
|
| -private:
|
| -#define SK2X_PRIVATE 1
|
| - #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 && !defined(SKNX_NO_SIMD)
|
| - #include "../opts/Sk2x_sse.h"
|
| - #elif defined(SK_ARM_HAS_NEON) && !defined(SKNX_NO_SIMD)
|
| - #include "../opts/Sk2x_neon.h"
|
| - #else
|
| - #include "../opts/Sk2x_none.h"
|
| - #endif
|
| -#undef SK2X_PRIVATE
|
| -};
|
| -
|
| -#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 && !defined(SKNX_NO_SIMD)
|
| - #include "../opts/Sk2x_sse.h"
|
| -#elif defined(SK_ARM_HAS_NEON) && !defined(SKNX_NO_SIMD)
|
| - #include "../opts/Sk2x_neon.h"
|
| -#else
|
| - #include "../opts/Sk2x_none.h"
|
| -#endif
|
| -
|
| -#endif//Sk2x_DEFINED
|
|
|