1 //*@@@+++@@@@****************************************************************** 2 // 3 // Copyright � Microsoft Corp. 4 // All rights reserved. 5 // 6 // Redistribution and use in source and binary forms, with or without 7 // modification, are permitted provided that the following conditions are met: 8 // 9 // � Redistributions of source code must retain the above copyright notice, 10 // this list of conditions and the following disclaimer. 11 // � Redistributions in binary form must reproduce the above copyright notice, 12 // this list of conditions and the following disclaimer in the documentation 13 // and/or other materials provided with the distribution. 14 // 15 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 19 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25 // POSSIBILITY OF SUCH DAMAGE. 26 // 27 //*@@@---@@@@****************************************************************** 28 #pragma once 29 30 #include <assert.h> 31 #include <windows.h> 32 33 //================================ 34 // bitio functions 35 //================================ 36 #define PACKETLENGTH (1U<<12) // 4kB 37 38 #define readIS_L1(pSC, pIO) readIS(pSC, pIO) 39 #define readIS_L2(pSC, pIO) (void)(pSC, pIO) 40 41 #define writeIS_L1(pSC, pIO) writeIS(pSC, pIO) 42 #define writeIS_L2(pSC, pIO) (void)(pSC, pIO) 43 44 45 //================================ 46 // common defines 47 //================================ 48 #define FORCE_INLINE __forceinline 49 #define UINTPTR_T uintptr_t 50 #define INTPTR_T intptr_t 51 52 53 //================================ 54 // quantization optimization 55 //================================ 56 #define RECIP_QUANT_OPT 57 58 59