//+------------------------------------------------------------------+ //| Swar.mqh | //| Copyright 2026, Niquel Mendoza | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Niquel Mendoza" #property link "https://www.mql5.com" #property strict #ifndef TSNTABES_SRC_BITS_SWAR_SWAR_MQH #define TSNTABES_SRC_BITS_SWAR_SWAR_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include "Mask.mqh" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ namespace TSN { //+------------------------------------------------------------------+ //| Swar | //+------------------------------------------------------------------+ // LO = 0x0101010101010101 = 72340172838076673ULL // HI = 0x8080808080808080 = 9259542123273814144ULL //--- Constante para compatarct ulongs en bits (ulong a uchar) #define TSNTABLES_MAGIC_COMPACT 0x0102040810204080 // primero los bits altos ahora son los bajos luego lo muplticalos pro la constante magica // y en los ultismo 8 bits algtos del ulong queda la mascara uchar.. #define TSNTABLES_COMPACT_UL(mask) uchar((((mask >> 7) * TSNTABLES_MAGIC_COMPACT) >> 56)) #define TSNTABLES_COMPACT_UL_F(mask) ulong((((mask >> 7) * TSNTABLES_MAGIC_COMPACT) >> 56)) //--- #define TSNTABLES_MASK_PARES (B'01010101') #define TSNTABLES_MASK_IMPARES (B'10101010') ///--- F = Full #define TSNTABLES_MASK_IMPARES_F (0xAAAAAAAAAAAAAAAA) #define TSNTABLES_MASK_PARES_F (0x5555555555555555) //+------------------------------------------------------------------+ //| Main -- consatnes bases | //+------------------------------------------------------------------+ //--- Constantes #define TSNTABLES_SWAR_LO 0x0101010101010101 #define TSNTABLES_SWAR_HI 0x8080808080808080 //--- Metodo base #define TSNTABLES_SWAR_HAS(mask) ((mask - TSNTABLES_SWAR_LO) & ~mask & TSNTABLES_SWAR_HI) } //+------------------------------------------------------------------+ #endif // TSNTABES_SRC_BITS_SWAR_SWAR_MQH