3rdParty/boost/1.78.0/libs/preprocessor/doc/ref/mul.html
The BOOST_PP_MUL macro expands to the product of its arguments.
BOOST_PP_MUL (x, y)
x The multiplicand of the operation. Valid values range from 0 to BOOST_PP_LIMIT_MAG. y The multiplier of the operation. Valid values range from 0 to BOOST_PP_LIMIT_MAG.
If the product of x and y is greater than BOOST_PP_LIMIT_MAG , the result is saturated to BOOST_PP_LIMIT_MAG.
Previously, this macro could not be used inside BOOST_PP_WHILE. There is no longer any such restriction. It is more efficient, however, to use BOOST_PP_MUL_D in such a situation.
This macro is the most efficient when x is greater than or equal to y. However, the efficiency gain is not worth actually comparing the two arguments prior to invocation. In other words, x should be the value that is most likely to be the largest of the two operands.
Header: <boost/preprocessor/arithmetic/mul.hpp>
#include <[boost/preprocessor/arithmetic/mul.hpp](../headers/arithmetic/mul.html)>[BOOST\_PP\_MUL](mul.html)(4, 4) // expands to 16
Copyright Housemarque Oy 2002 Copyright Paul Mensonides 2002
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)