~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/libs/port/ffs.c

Version: ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * ffs function
  3  *
  4  * Copyright 2004 Hans Leidekker
  5  *
  6  * This library is free software; you can redistribute it and/or
  7  * modify it under the terms of the GNU Lesser General Public
  8  * License as published by the Free Software Foundation; either
  9  * version 2.1 of the License, or (at your option) any later version.
 10  *
 11  * This library is distributed in the hope that it will be useful,
 12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 14  * Lesser General Public License for more details.
 15  *
 16  * You should have received a copy of the GNU Lesser General Public
 17  * License along with this library; if not, write to the Free Software
 18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 19  */
 20 
 21 #include "config.h"
 22 #include "wine/port.h"
 23 
 24 #ifndef HAVE_FFS
 25 int ffs( int x )
 26 {
 27     unsigned int y = (unsigned int)x;
 28 
 29     if (y & 0x00000001) return 1;
 30     if (y & 0x00000002) return 2;
 31     if (y & 0x00000004) return 3;
 32     if (y & 0x00000008) return 4;
 33     if (y & 0x00000010) return 5;
 34     if (y & 0x00000020) return 6;
 35     if (y & 0x00000040) return 7;
 36     if (y & 0x00000080) return 8;
 37     if (y & 0x00000100) return 9;
 38     if (y & 0x00000200) return 10;
 39     if (y & 0x00000400) return 11;
 40     if (y & 0x00000800) return 12;
 41     if (y & 0x00001000) return 13;
 42     if (y & 0x00002000) return 14;
 43     if (y & 0x00004000) return 15;
 44     if (y & 0x00008000) return 16;
 45     if (y & 0x00010000) return 17;
 46     if (y & 0x00020000) return 18;
 47     if (y & 0x00040000) return 19;
 48     if (y & 0x00080000) return 20;
 49     if (y & 0x00100000) return 21;
 50     if (y & 0x00200000) return 22;
 51     if (y & 0x00400000) return 23;
 52     if (y & 0x00800000) return 24;
 53     if (y & 0x01000000) return 25;
 54     if (y & 0x02000000) return 26;
 55     if (y & 0x04000000) return 27;
 56     if (y & 0x08000000) return 28;
 57     if (y & 0x10000000) return 29;
 58     if (y & 0x20000000) return 30;
 59     if (y & 0x40000000) return 31;
 60     if (y & 0x80000000) return 32;
 61 
 62     return 0;
 63 }
 64 #endif /* HAVE_FFS */
 65 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.