Excerpts from a Linear Bit Counting
          Patent Pending
  @the National Society of Black
Engineers 36th Annual Conference in
     Toronto, Ontario Canada
 By Meltin.Bell@PatentlyQualified.com

            (c) Copyright 4/2/10 Meltin Bell. All rights
                                                           1
                             reserved.
Patent Pending Parts
• Specification (Abstract, Background, Summary,
  Brief Drawings Description, Detailed
  Description)
• Drawings
• Claims
• Oath/Declaration
• Information Disclosure Statement (IDS)
• Transmittal Letter
• Application Data Sheet
               (c) Copyright 4/2/10 Meltin Bell. All rights
                                                              2
                                reserved.
Bit Counting Applications

• Cryptography (6516330, 5717616, 5734599)
• Graphics (6516330)
• Transmission (5682405)




               (c) Copyright 4/2/10 Meltin Bell. All rights
                                                              3
                                reserved.
Linear Bit Counting Prior Art
int lbc1(int val) {
  int bc = 0;
  while (val) {                                   loop #          val   bc
    val &= (val -1);                              1               101   0
    bc++;                                         2               100   1
  }                                               3               0     2
  return bc;
}
                   (c) Copyright 4/2/10 Meltin Bell. All rights
                                                                             4
                                    reserved.
Motivations for Improvements
•   Faster computation (5717616)
•   Convenient implementation (5717616)
•   Greater CPU design flexibility (5717616)
•   Minimizing hardware/size (4607176, 5734599)




                 (c) Copyright 4/2/10 Meltin Bell. All rights
                                                                5
                                  reserved.
Linear Bit Counting Contribution 1
int lbc1_(int val) {
  int bc = 3;
  while (val != 0x111) {                         loop #          val bc
    val |= (val + 1);                            1               011 3
    bc--;                                        2               111 2
  }
  return bc;
}
                  (c) Copyright 4/2/10 Meltin Bell. All rights
                                                                          6
                                   reserved.
Linear Bit Counting Contribution 2
int lbc0_(int val) {
  int bc = 3;
  while (val > 0) {                              loop #          val bc
    val &= (val -1);                             1               001 3
    bc--;                                        2               0   2
  }
  return bc;
}
                  (c) Copyright 4/2/10 Meltin Bell. All rights
                                                                          7
                                   reserved.
Linear Bit Counting Contribution 3
int lbc0(int val) {
  int bc = 0;
  while (val != 0x111) {                         loop #          val bc
    val |= (val + 1);                            1               011 0
    bc++;                                        2               111 1
  }
  return bc;
}
                  (c) Copyright 4/2/10 Meltin Bell. All rights
                                                                          8
                                   reserved.
Conclusion and Pearls
• Performance of contributions is most
  significant for sparsely or densely populated
  data
• Be not overcome of evil, but overcome evil
  with good (Romans 12:21 King James Version)
• For further information, please contact
  Meltin.Bell@PatentlyQualified.com
• THANKS!
                (c) Copyright 4/2/10 Meltin Bell. All rights
                                                               9
                                 reserved.

National Society of Black Engineers 36th Annual Conference Toronto Presentation

  • 1.
    Excerpts from aLinear Bit Counting Patent Pending @the National Society of Black Engineers 36th Annual Conference in Toronto, Ontario Canada By Meltin.Bell@PatentlyQualified.com (c) Copyright 4/2/10 Meltin Bell. All rights 1 reserved.
  • 2.
    Patent Pending Parts •Specification (Abstract, Background, Summary, Brief Drawings Description, Detailed Description) • Drawings • Claims • Oath/Declaration • Information Disclosure Statement (IDS) • Transmittal Letter • Application Data Sheet (c) Copyright 4/2/10 Meltin Bell. All rights 2 reserved.
  • 3.
    Bit Counting Applications •Cryptography (6516330, 5717616, 5734599) • Graphics (6516330) • Transmission (5682405) (c) Copyright 4/2/10 Meltin Bell. All rights 3 reserved.
  • 4.
    Linear Bit CountingPrior Art int lbc1(int val) { int bc = 0; while (val) { loop # val bc val &= (val -1); 1 101 0 bc++; 2 100 1 } 3 0 2 return bc; } (c) Copyright 4/2/10 Meltin Bell. All rights 4 reserved.
  • 5.
    Motivations for Improvements • Faster computation (5717616) • Convenient implementation (5717616) • Greater CPU design flexibility (5717616) • Minimizing hardware/size (4607176, 5734599) (c) Copyright 4/2/10 Meltin Bell. All rights 5 reserved.
  • 6.
    Linear Bit CountingContribution 1 int lbc1_(int val) { int bc = 3; while (val != 0x111) { loop # val bc val |= (val + 1); 1 011 3 bc--; 2 111 2 } return bc; } (c) Copyright 4/2/10 Meltin Bell. All rights 6 reserved.
  • 7.
    Linear Bit CountingContribution 2 int lbc0_(int val) { int bc = 3; while (val > 0) { loop # val bc val &= (val -1); 1 001 3 bc--; 2 0 2 } return bc; } (c) Copyright 4/2/10 Meltin Bell. All rights 7 reserved.
  • 8.
    Linear Bit CountingContribution 3 int lbc0(int val) { int bc = 0; while (val != 0x111) { loop # val bc val |= (val + 1); 1 011 0 bc++; 2 111 1 } return bc; } (c) Copyright 4/2/10 Meltin Bell. All rights 8 reserved.
  • 9.
    Conclusion and Pearls •Performance of contributions is most significant for sparsely or densely populated data • Be not overcome of evil, but overcome evil with good (Romans 12:21 King James Version) • For further information, please contact Meltin.Bell@PatentlyQualified.com • THANKS! (c) Copyright 4/2/10 Meltin Bell. All rights 9 reserved.