Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marian-nmt/marian.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/amun/3rd_party/blaze/math/constraints/Square.h')
-rw-r--r--src/amun/3rd_party/blaze/math/constraints/Square.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/amun/3rd_party/blaze/math/constraints/Square.h b/src/amun/3rd_party/blaze/math/constraints/Square.h
new file mode 100644
index 00000000..e51bd819
--- /dev/null
+++ b/src/amun/3rd_party/blaze/math/constraints/Square.h
@@ -0,0 +1,85 @@
+//=================================================================================================
+/*!
+// \file blaze/math/constraints/Square.h
+// \brief Constraint on the data type
+//
+// Copyright (C) 2013 Klaus Iglberger - All Rights Reserved
+//
+// This file is part of the Blaze library. You can redistribute it and/or modify it under
+// the terms of the New (Revised) BSD License. Redistribution and use in source and binary
+// forms, with or without modification, are permitted provided that the following conditions
+// are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this list of
+// conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright notice, this list
+// of conditions and the following disclaimer in the documentation and/or other materials
+// provided with the distribution.
+// 3. Neither the names of the Blaze development group nor the names of its contributors
+// may be used to endorse or promote products derived from this software without specific
+// prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+// SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+// DAMAGE.
+*/
+//=================================================================================================
+
+#ifndef _BLAZE_MATH_CONSTRAINTS_SQUARE_H_
+#define _BLAZE_MATH_CONSTRAINTS_SQUARE_H_
+
+
+//*************************************************************************************************
+// Includes
+//*************************************************************************************************
+
+#include <blaze/math/typetraits/IsSquare.h>
+
+
+namespace blaze {
+
+//=================================================================================================
+//
+// MUST_BE_SQUARE CONSTRAINT
+//
+//=================================================================================================
+
+//*************************************************************************************************
+/*!\brief Constraint on the data type.
+// \ingroup math_constraints
+//
+// In case the given data type \a T is not a square matrix type, a compilation error is created.
+*/
+#define BLAZE_CONSTRAINT_MUST_BE_SQUARE(T) \
+ static_assert( ::blaze::IsSquare<T>::value, "Non-square matrix type detected" )
+//*************************************************************************************************
+
+
+
+
+//=================================================================================================
+//
+// MUST_NOT_BE_SQUARE CONSTRAINT
+//
+//=================================================================================================
+
+//*************************************************************************************************
+/*!\brief Constraint on the data type.
+// \ingroup math_constraints
+//
+// In case the given data type \a T is a square matrix type, a compilation error is created.
+*/
+#define BLAZE_CONSTRAINT_MUST_NOT_BE_SQUARE(T) \
+ static_assert( !::blaze::IsSquare<T>::value, "Square matrix type detected" )
+//*************************************************************************************************
+
+} // namespace blaze
+
+#endif