// Copyright (c) 2014-2018 Zano Project // Copyright (c) 2014-2018 The Louisdor Project // Copyright (c) 2012-2013 The Boolberry developers // Copyright (c) 2017-2025 Lethean (https://lt.hn) // // Licensed under the European Union Public Licence (EUPL) version 1.2. // You may obtain a copy of the licence at: // // https://joinup.ec.europa.eu/software/page/eupl/licence-eupl // // The EUPL is a copyleft licence that is compatible with the MIT/X11 // licence used by the original projects; the MIT terms are therefore // considered “grandfathered” under the EUPL for this code. // // SPDX‑License‑Identifier: EUPL-1.2 // /* ecrypt-machine.h */ /* * This file is included by 'ecrypt-portable.h'. It allows to override * the default macros for specific platforms. Please carefully check * the machine code generated by your compiler (with optimisations * turned on) before deciding to edit this file. */ /* ------------------------------------------------------------------------- */ #if (defined(ECRYPT_DEFAULT_ROT) && !defined(ECRYPT_MACHINE_ROT)) #define ECRYPT_MACHINE_ROT #if (defined(WIN32) && defined(_MSC_VER)) #undef ROTL32 #undef ROTR32 #undef ROTL64 #undef ROTR64 #include #define ROTL32(v, n) _lrotl(v, n) #define ROTR32(v, n) _lrotr(v, n) #define ROTL64(v, n) _rotl64(v, n) #define ROTR64(v, n) _rotr64(v, n) #endif #endif /* ------------------------------------------------------------------------- */ #if (defined(ECRYPT_DEFAULT_SWAP) && !defined(ECRYPT_MACHINE_SWAP)) #define ECRYPT_MACHINE_SWAP /* * If you want to overwrite the default swap macros, put it here. And so on. */ #endif /* ------------------------------------------------------------------------- */