diff options
author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-05-15 11:16:27 +0300 |
---|---|---|
committer | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-05-15 11:16:27 +0300 |
commit | bccc10db9a90d365c353baebf443fde2030ce970 (patch) | |
tree | 2c2e1fd94b29667a809f8d7285d049f5ff5d424d /indra/llmath/llmodularmath.h | |
parent | 531cd34f670170ade57f8813fe48012b61a1d3c2 (diff) | |
parent | bb3c36f5cbc0c3b542045fd27255eee24e03da22 (diff) |
Merge branch 'main' into marchcat/x-b-merge
# Conflicts:
# autobuild.xml
# indra/cmake/ConfigurePkgConfig.cmake
# indra/cmake/ICU4C.cmake
# indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp
# indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.h
# indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h
# indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp
# indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.h
# indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp
# indra/newview/llappviewerlinux_api.h
# indra/newview/llappviewerlinux_api_dbus.cpp
# indra/newview/llappviewerlinux_api_dbus.h
# indra/newview/llfloateremojipicker.cpp
# indra/newview/lloutfitslist.cpp
Diffstat (limited to 'indra/llmath/llmodularmath.h')
-rw-r--r-- | indra/llmath/llmodularmath.h | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/indra/llmath/llmodularmath.h b/indra/llmath/llmodularmath.h index 0d4d28fadc..e0ae71417a 100644 --- a/indra/llmath/llmodularmath.h +++ b/indra/llmath/llmodularmath.h @@ -1,25 +1,25 @@ -/** +/** * @file llmodularmath.h * @brief Useful modular math functions. * * $LicenseInfo:firstyear=2008&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -32,21 +32,21 @@ namespace LLModularMath // Return difference between lhs and rhs // treating the U32 operands and result // as unsigned values of given width. - template<int width> - inline U32 subtract(U32 lhs, U32 rhs) - { - // Generate a bit mask which will truncate - // unsigned values to given width at compile time. - const U32 mask = (1 << width) - 1; - - // Operands are unsigned, so modular - // arithmetic applies. If lhs < rhs, - // difference will wrap in to lower - // bits of result, which is then masked - // to give a value that can be represented - // by an unsigned value of width bits. - return mask & (lhs - rhs); - } + template<int width> + inline U32 subtract(U32 lhs, U32 rhs) + { + // Generate a bit mask which will truncate + // unsigned values to given width at compile time. + const U32 mask = (1 << width) - 1; + + // Operands are unsigned, so modular + // arithmetic applies. If lhs < rhs, + // difference will wrap in to lower + // bits of result, which is then masked + // to give a value that can be represented + // by an unsigned value of width bits. + return mask & (lhs - rhs); + } } #endif |