|
- /*********************************************************************/
- /* Copyright 2009, 2010 The University of Texas at Austin. */
- /* All rights reserved. */
- /* */
- /* Redistribution and use in source and binary forms, with or */
- /* without modification, are permitted provided that the following */
- /* conditions are met: */
- /* */
- /* 1. Redistributions of source code must retain the above */
- /* copyright notice, this list of conditions and the following */
- /* disclaimer. */
- /* */
- /* 2. Redistributions in binary form must reproduce the above */
- /* copyright notice, this list of conditions and the following */
- /* disclaimer in the documentation and/or other materials */
- /* provided with the distribution. */
- /* */
- /* THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT */
- /* AUSTIN ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, */
- /* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
- /* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
- /* DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF TEXAS AT */
- /* AUSTIN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
- /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES */
- /* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE */
- /* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR */
- /* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
- /* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
- /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
- /* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
- /* POSSIBILITY OF SUCH DAMAGE. */
- /* */
- /* The views and conclusions contained in the software and */
- /* documentation are those of the authors and should not be */
- /* interpreted as representing official policies, either expressed */
- /* or implied, of The University of Texas at Austin. */
- /*********************************************************************/
-
- #include "common.h"
-
- #ifdef SMP
- #if !defined(USE64BITINT) || defined(ARCH_X86)
- unsigned int blas_quick_divide_table[] = {
- 0x00000000, 0x00000001, 0x80000001, 0x55555556,
- 0x40000001, 0x33333334, 0x2aaaaaab, 0x24924925,
- 0x20000001, 0x1c71c71d, 0x1999999a, 0x1745d175,
- 0x15555556, 0x13b13b14, 0x12492493, 0x11111112,
- 0x10000001, 0x0f0f0f10, 0x0e38e38f, 0x0d79435f,
- 0x0ccccccd, 0x0c30c30d, 0x0ba2e8bb, 0x0b21642d,
- 0x0aaaaaab, 0x0a3d70a4, 0x09d89d8a, 0x097b425f,
- 0x0924924a, 0x08d3dcb1, 0x08888889, 0x08421085,
- 0x08000001, 0x07c1f07d, 0x07878788, 0x07507508,
- 0x071c71c8, 0x06eb3e46, 0x06bca1b0, 0x06906907,
- 0x06666667, 0x063e7064, 0x06186187, 0x05f417d1,
- 0x05d1745e, 0x05b05b06, 0x0590b217, 0x0572620b,
- 0x05555556, 0x0539782a, 0x051eb852, 0x05050506,
- 0x04ec4ec5, 0x04d4873f, 0x04bda130, 0x04a7904b,
- 0x04924925, 0x047dc120, 0x0469ee59, 0x0456c798,
- 0x04444445, 0x04325c54, 0x04210843, 0x04104105,
- 0x04000001,
- };
- #else
- BLASULONG blas_quick_divide_table[] = {
- 0x0000000000000000, 0x0000000000000001, 0x8000000000000001, 0x5555555555555557,
- 0x4000000000000001, 0x3333333333333335, 0x2aaaaaaaaaaaaaac, 0x2492492492492494,
- 0x2000000000000001, 0x1c71c71c71c71c73, 0x199999999999999b, 0x1745d1745d1745d3,
- 0x1555555555555557, 0x13b13b13b13b13b3, 0x124924924924924b, 0x1111111111111113,
- 0x1000000000000001, 0x0f0f0f0f0f0f0f11, 0x0e38e38e38e38e3a, 0x0d79435e50d79437,
- 0x0cccccccccccccce, 0x0c30c30c30c30c32, 0x0ba2e8ba2e8ba2ea, 0x0b21642c8590b218,
- 0x0aaaaaaaaaaaaaac, 0x0a3d70a3d70a3d72, 0x09d89d89d89d89da, 0x097b425ed097b427,
- 0x0924924924924926, 0x08d3dcb08d3dcb0a, 0x088888888888888a, 0x0842108421084212,
- 0x0800000000000001, 0x07c1f07c1f07c1f2, 0x0787878787878789, 0x0750750750750752,
- 0x071c71c71c71c71e, 0x06eb3e45306eb3e6, 0x06bca1af286bca1c, 0x0690690690690692,
- 0x0666666666666668, 0x063e7063e7063e72, 0x061861861861861a, 0x05f417d05f417d07,
- 0x05d1745d1745d176, 0x05b05b05b05b05b2, 0x0590b21642c8590d, 0x0572620ae4c415cb,
- 0x0555555555555557, 0x05397829cbc14e60, 0x051eb851eb851eba, 0x0505050505050507,
- 0x04ec4ec4ec4ec4ee, 0x04d4873ecade304f, 0x04bda12f684bda14, 0x04a7904a7904a792,
- 0x0492492492492494, 0x047dc11f7047dc13, 0x0469ee58469ee586, 0x0456c797dd49c343,
- 0x0444444444444446, 0x04325c53ef368eb2, 0x042108421084210a, 0x0410410410410412,
- 0x0400000000000001,
- };
- #endif
- #endif
|