US8346831B1 - Systems and methods for computing mathematical functions - Google Patents
Systems and methods for computing mathematical functions Download PDFInfo
- Publication number
- US8346831B1 US8346831B1 US11/493,714 US49371406A US8346831B1 US 8346831 B1 US8346831 B1 US 8346831B1 US 49371406 A US49371406 A US 49371406A US 8346831 B1 US8346831 B1 US 8346831B1
- Authority
- US
- United States
- Prior art keywords
- stages
- single hardware
- polynomial approximation
- hardware pipeline
- data tables
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
- G06F1/035—Reduction of table size
- G06F1/0356—Reduction of table size by using two or more smaller tables, e.g. addressed by parts of the argument
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2101/00—Indexing scheme relating to the type of digital function generated
- G06F2101/08—Powers or roots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2101/00—Indexing scheme relating to the type of digital function generated
- G06F2101/10—Logarithmic or exponential functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2101/00—Indexing scheme relating to the type of digital function generated
- G06F2101/12—Reciprocal functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
- G06F7/5525—Roots or inverse roots of single operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
Definitions
- the invention related generally to the field of computer systems and more particularly to computational functions for graphics processor chips.
- Graphics processor chips traditionally employ various mathematical functions implemented in hardware for fast drawing and rendering speed. Some examples of these mathematical functions include reciprocal function (“RCP”), reciprocal square root function (“SQRT”), exponential function (“EXP”) and logarithmic function (“LOG”). These mathematical functions are implemented in prior art as separate circuitry blocks with different algorithms.
- RCP reciprocal function
- SQL reciprocal square root function
- EXP exponential function
- LOG logarithmic function
- MSB most significant bits
- LSB least significant bits
- the main calculation for reciprocal of x is in the calculation of mantissa.
- the embodiments of the present invention fill these needs by providing methods and apparatus for implementing various mathematical functions with unified hardware circuitry and data look up table with less than 1000 entries. It should be appreciated that the present invention can be implemented in numerous ways, including as a method, a system, or a device. Several inventive embodiments of the present invention are described below.
- the quadratic approximation may be done in 64 segments.
- i may be determined by matching the MSB portion of x to a particular x0.
- FIG. 1 is a block diagram illustrating a 6 stage unified hardware pipeline according to an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating a 3 stage RCP hardware pipeline according to an embodiment of the present invention.
- FIG. 3 is a flow chart diagram illustrating an algorithm for calculating various exemplary data look up table according to an embodiment of the present invention.
- FIG. 1 is a block diagram illustrating a 6 stage unified hardware pipeline according to an embodiment of the present invention.
- block 101 , block 103 , block 105 , block 107 , block 109 , block 111 , and block 113 are the register stages of the pipeline.
- Block 102 is a floating point to fixed point converter.
- Block 112 is a fixed point to floating point converter.
- block 112 may be configured to be bypassing circuit according to an opcode (i.e., a configuration instruction, a micro-code, or the like) for implementing an EXP function.
- an opcode i.e., a configuration instruction, a micro-code, or the like
- block 102 may be configured to be bypassing circuit according to another opcode (i.e., a configuration instruction, a micro-code, or the like) for implementing an LOG function.
- both block 102 and block 112 may be configured to be bypassing circuits according to yet another opcode (i.e., a configuration instruction, a micro-code, or the like) in implementing RCP or SQRT functions.
- block 104 , 106 , 108 , and 110 may implement various portions of the quadratic approximation for calculating mathematical functions such as RCP, SQRT, EXP, LOG or the like based on separate data look up tables.
- block 104 implements data table look up for c based on an integer i corresponding to mantissa of a floating point number x.
- block 106 implements data table look up for b.
- block 106 also calculates c(x ⁇ x0).
- block 108 implements data table look up for a as well as calculation of b(x ⁇ x0) and c(x ⁇ x0)(x ⁇ x1).
- Block 110 implements summation of three terms for calculating the quadratic approximation.
- FIG. 2 is a block diagram illustrating a 3 stage RCP hardware pipeline according to an embodiment of the present invention.
- block 201 , block 203 , block 205 , and block 207 are the register stages of the pipeline.
- block 202 , 204 , and 206 may implement various portions of the quadratic approximation.
- block 202 implements data table look up for b and c based on an integer i corresponding to MSB of mantissa of a floating point number.
- block 202 also calculates (x ⁇ x0)(x ⁇ x1).
- block 204 implements data table look up for a as well as calculation of b(x ⁇ x0) and c(x ⁇ x0)(x ⁇ x1).
- Block 206 implements summation of three terms for calculating the quadratic approximation.
- FIG. 3 is a flow chart diagram illustrating an exemplary algorithm for calculating various data look up tables according to an embodiment of the present invention.
- an exemplary algorithm is illustrated for computing data tables a, b and c for SQRT.
- Three linear equations are used to compute three values a, b and c. These three equations are solved by first computing the start point (i.e., x), middle point (i.e., x — 5) and end point (i.e., x1) of a segment ( 301 ).
- Blocks 302 and 303 compute a, b and c in floating point format.
- Block 304 converts a, b and c to integer format.
- Block 305 does the rounding and produces the final value.
- the “sqrt” function in block 302 may be replaced by reciprocal function to adapt the algorithm for computing data tables a, b and c for RCP.
- the “sqrt” function in block 302 may be replaced by other functions (e.g., EXP, LOG, or the like) to adapt the algorithm for computing data tables a, b and c for these other functions.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
Description
F(x)=a+b(x−x0)+C(x−x0)(x−x1);
where x is the mantissa of a single or double precision floating point number y, y=(sign)(2)w(x), −126<=w<126, and 1.0<=x<2.0. Once F(x) is calculated, RCP(y) can be calculated as 1/y=(sign)(2)−w(F(x)). In some examples, the quadratic approximation may be done in 64 segments. A starting value x0 and ending value x1 of each of these 64 segments can be calculated as:
x0=1.0+i/64
x1=1.0+(i+1)/64;
where i is an integer from 0 to 63. For an arbitrary x, where 1.0<=x<2.0 and x may fall in one of these 64 segments, i may be determined by matching the MSB portion of x to a particular x0. Accordingly, the value of x is between x0 and x1 (x0<=x<x1) and (x−x0) is the LSB of portion of x. Once i is determined, the value of a, b, and c may be determined from three separate data look up tables:
1/sqrt(y)=(sign)(2)−w/2(F(x)), if w is even
1/sqrt(y)=(sign)(2)−(w-1)/2(F(x)), if w is odd
Claims (14)
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/493,714 US8346831B1 (en) | 2006-07-25 | 2006-07-25 | Systems and methods for computing mathematical functions |
EP07111660.2A EP1884859B1 (en) | 2006-07-25 | 2007-07-03 | Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques |
JP2007189740A JP5278844B2 (en) | 2006-07-25 | 2007-07-20 | Single data path floating point execution of RCP, SQRT, EXP and LOG functions and low latency RCP based on the same technology |
KR1020070072889A KR101398723B1 (en) | 2006-07-25 | 2007-07-20 | Single Datapath Floating Point Implementation of RCP, SQRT, EXP and LOG functions and a Low Latency RCP based on the same techniques |
US13/690,897 US20130091189A1 (en) | 2006-07-25 | 2012-11-30 | Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques |
US14/486,891 US9600236B2 (en) | 2006-07-25 | 2014-09-15 | Systems and methods for computing mathematical functions |
US14/680,791 US9703530B2 (en) | 2006-07-25 | 2015-04-07 | Systems and methods for computing mathematical functions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/493,714 US8346831B1 (en) | 2006-07-25 | 2006-07-25 | Systems and methods for computing mathematical functions |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/690,897 Continuation US20130091189A1 (en) | 2006-07-25 | 2012-11-30 | Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques |
Publications (1)
Publication Number | Publication Date |
---|---|
US8346831B1 true US8346831B1 (en) | 2013-01-01 |
Family
ID=38686695
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/493,714 Active 2030-07-18 US8346831B1 (en) | 2006-07-25 | 2006-07-25 | Systems and methods for computing mathematical functions |
US13/690,897 Abandoned US20130091189A1 (en) | 2006-07-25 | 2012-11-30 | Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/690,897 Abandoned US20130091189A1 (en) | 2006-07-25 | 2012-11-30 | Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques |
Country Status (4)
Country | Link |
---|---|
US (2) | US8346831B1 (en) |
EP (1) | EP1884859B1 (en) |
JP (1) | JP5278844B2 (en) |
KR (1) | KR101398723B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130091189A1 (en) * | 2006-07-25 | 2013-04-11 | Vivante Corporation | Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques |
US10268451B2 (en) | 2015-09-18 | 2019-04-23 | Samsung Electronics Co., Ltd. | Method and processing apparatus for performing arithmetic operation |
US20190369962A1 (en) * | 2018-06-05 | 2019-12-05 | Texas Instruments Incorporated | Transcendental function evaluation |
CN111913686A (en) * | 2020-05-29 | 2020-11-10 | 无锡市优利康电气有限公司 | Fast squaring calculation method for fixed-point CPU |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9015217B2 (en) * | 2012-03-30 | 2015-04-21 | Apple Inc. | Transcendental and non-linear components using series expansion |
KR101624711B1 (en) * | 2013-12-24 | 2016-05-26 | (주)에프씨아이 | Method And Apparatus For Compressing/Decompressing Data By Using Floating Point |
JP6770777B2 (en) * | 2015-04-07 | 2020-10-21 | ビバンテ コーポレーション | Systems and methods for calculating mathematical functions |
US20180217814A1 (en) * | 2017-02-02 | 2018-08-02 | Vivante Corporation | Systems And Methods For Computing Mathematical Functions |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4868776A (en) * | 1987-09-14 | 1989-09-19 | Trw Inc. | Fast fourier transform architecture using hybrid n-bit-serial arithmetic |
US5163017A (en) * | 1990-03-23 | 1992-11-10 | Texas Instruments Incorporated | Pipelined Fast Fourier Transform (FFT) architecture |
US5473558A (en) * | 1993-01-22 | 1995-12-05 | Sony Corporation | Method for generating hardware description of multiplier and/or multiplier-adder |
US6341300B1 (en) * | 1999-01-29 | 2002-01-22 | Sun Microsystems, Inc. | Parallel fixed point square root and reciprocal square root computation unit in a processor |
US6598063B1 (en) * | 2000-08-14 | 2003-07-22 | Lntel Corporation | Fast calculation of (A/B)K by a parallel floating-point processor |
US20030200237A1 (en) * | 2002-04-01 | 2003-10-23 | Sony Computer Entertainment Inc. | Serial operation pipeline, arithmetic device, arithmetic-logic circuit and operation method using the serial operation pipeline |
US20050071401A1 (en) * | 2001-07-30 | 2005-03-31 | Ati Technologies, Inc. | Method and system for approximating sine and cosine functions |
US6976043B2 (en) * | 2001-07-30 | 2005-12-13 | Ati Technologies Inc. | Technique for approximating functions based on lagrange polynomials |
US20070073798A1 (en) * | 2005-09-28 | 2007-03-29 | Donofrio David D | Enhanced floating-point unit for extended functions |
US7222060B2 (en) * | 2002-09-25 | 2007-05-22 | Nec Electronics Corporation | Circuit simulation apparatus incorporating diffusion length dependence of transistors and method for creating transistor model |
US7346642B1 (en) * | 2003-11-14 | 2008-03-18 | Advanced Micro Devices, Inc. | Arithmetic processor utilizing multi-table look up to obtain reciprocal operands |
US7640285B1 (en) * | 2004-10-20 | 2009-12-29 | Nvidia Corporation | Multipurpose arithmetic functional unit |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0251771A (en) * | 1988-08-15 | 1990-02-21 | Nec Corp | High-speed numerical calculation system using numerical chart and interpolation formula |
JP3453618B2 (en) * | 1991-10-11 | 2003-10-06 | ヒュンダイ、エレクトロニクス、インダストリーズ、カムパニー、リミテッド | Processor for division and square root using polynomial approximation of root |
US5703801A (en) * | 1995-01-31 | 1997-12-30 | Motorola, Inc. | Logarithm/inverse-logarithm converter utilizing second-order term and method of using same |
JP3790307B2 (en) * | 1996-10-16 | 2006-06-28 | 株式会社ルネサステクノロジ | Data processor and data processing system |
US6163791A (en) * | 1998-02-02 | 2000-12-19 | International Business Machines Corporation | High accuracy estimates of elementary functions |
US6675187B1 (en) * | 1999-06-10 | 2004-01-06 | Agere Systems Inc. | Pipelined linear array of processor elements for performing matrix computations |
US6549924B1 (en) * | 1999-10-01 | 2003-04-15 | Hewlett-Packard Company | Function generating interpolation method and apparatus |
JP2004213424A (en) * | 2003-01-06 | 2004-07-29 | Sony Corp | Information processing method, information processor, and information processing program |
JP2005182719A (en) * | 2003-12-18 | 2005-07-07 | Oita Technology Licensing Organization Ltd | Function generating method and device |
JP2006065633A (en) * | 2004-08-27 | 2006-03-09 | Sony Computer Entertainment Inc | Arithmetic method and device |
US8346831B1 (en) * | 2006-07-25 | 2013-01-01 | Vivante Corporation | Systems and methods for computing mathematical functions |
-
2006
- 2006-07-25 US US11/493,714 patent/US8346831B1/en active Active
-
2007
- 2007-07-03 EP EP07111660.2A patent/EP1884859B1/en active Active
- 2007-07-20 JP JP2007189740A patent/JP5278844B2/en active Active
- 2007-07-20 KR KR1020070072889A patent/KR101398723B1/en active Active
-
2012
- 2012-11-30 US US13/690,897 patent/US20130091189A1/en not_active Abandoned
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4868776A (en) * | 1987-09-14 | 1989-09-19 | Trw Inc. | Fast fourier transform architecture using hybrid n-bit-serial arithmetic |
US5163017A (en) * | 1990-03-23 | 1992-11-10 | Texas Instruments Incorporated | Pipelined Fast Fourier Transform (FFT) architecture |
US5473558A (en) * | 1993-01-22 | 1995-12-05 | Sony Corporation | Method for generating hardware description of multiplier and/or multiplier-adder |
US6341300B1 (en) * | 1999-01-29 | 2002-01-22 | Sun Microsystems, Inc. | Parallel fixed point square root and reciprocal square root computation unit in a processor |
US6598063B1 (en) * | 2000-08-14 | 2003-07-22 | Lntel Corporation | Fast calculation of (A/B)K by a parallel floating-point processor |
US20050071401A1 (en) * | 2001-07-30 | 2005-03-31 | Ati Technologies, Inc. | Method and system for approximating sine and cosine functions |
US6976043B2 (en) * | 2001-07-30 | 2005-12-13 | Ati Technologies Inc. | Technique for approximating functions based on lagrange polynomials |
US20030200237A1 (en) * | 2002-04-01 | 2003-10-23 | Sony Computer Entertainment Inc. | Serial operation pipeline, arithmetic device, arithmetic-logic circuit and operation method using the serial operation pipeline |
US7222060B2 (en) * | 2002-09-25 | 2007-05-22 | Nec Electronics Corporation | Circuit simulation apparatus incorporating diffusion length dependence of transistors and method for creating transistor model |
US7346642B1 (en) * | 2003-11-14 | 2008-03-18 | Advanced Micro Devices, Inc. | Arithmetic processor utilizing multi-table look up to obtain reciprocal operands |
US7640285B1 (en) * | 2004-10-20 | 2009-12-29 | Nvidia Corporation | Multipurpose arithmetic functional unit |
US20070073798A1 (en) * | 2005-09-28 | 2007-03-29 | Donofrio David D | Enhanced floating-point unit for extended functions |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130091189A1 (en) * | 2006-07-25 | 2013-04-11 | Vivante Corporation | Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques |
US10268451B2 (en) | 2015-09-18 | 2019-04-23 | Samsung Electronics Co., Ltd. | Method and processing apparatus for performing arithmetic operation |
US10540145B2 (en) | 2015-09-18 | 2020-01-21 | Samsung Electronics Co., Ltd. | Method and processing apparatus for performing arithmetic operation |
US20190369962A1 (en) * | 2018-06-05 | 2019-12-05 | Texas Instruments Incorporated | Transcendental function evaluation |
US10725742B2 (en) * | 2018-06-05 | 2020-07-28 | Texas Instruments Incorporated | Transcendental function evaluation |
US11099815B2 (en) | 2018-06-05 | 2021-08-24 | Texas Instruments Incorporated | Transcendental function evaluation |
US11733969B2 (en) | 2018-06-05 | 2023-08-22 | Texas Instruments Incorporated | Transcendental function evaluation |
CN111913686A (en) * | 2020-05-29 | 2020-11-10 | 无锡市优利康电气有限公司 | Fast squaring calculation method for fixed-point CPU |
CN111913686B (en) * | 2020-05-29 | 2021-12-07 | 无锡市优利康电气有限公司 | Fast squaring calculation method for fixed-point CPU |
Also Published As
Publication number | Publication date |
---|---|
EP1884859B1 (en) | 2019-01-23 |
EP1884859A3 (en) | 2017-07-19 |
EP1884859A2 (en) | 2008-02-06 |
KR20080010285A (en) | 2008-01-30 |
JP2008071336A (en) | 2008-03-27 |
JP5278844B2 (en) | 2013-09-04 |
KR101398723B1 (en) | 2014-05-26 |
US20130091189A1 (en) | 2013-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130091189A1 (en) | Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques | |
US10574260B2 (en) | Techniques for floating-point number conversion | |
US6369725B1 (en) | Method for binary to decimal conversion | |
US10684825B2 (en) | Compressing like magnitude partial products in multiply accumulation | |
CN101201644A (en) | Index processing method and system | |
US9143159B2 (en) | DPD/BCD to BID converters | |
US11687336B2 (en) | Extensible multi-precision data pipeline for computing non-linear and arithmetic functions in artificial neural networks | |
US9600236B2 (en) | Systems and methods for computing mathematical functions | |
WO2018196750A1 (en) | Device for processing multiplication and addition operations and method for processing multiplication and addition operations | |
CN114341796A (en) | Signed multiword multiplier | |
WO2017185334A1 (en) | Device and method for performing multiple transcendental function operations | |
CN102566965B (en) | Floating-point number logarithmic operation device with flat errors | |
KR102503498B1 (en) | Systems and methods for computing mathematical functions | |
US9703530B2 (en) | Systems and methods for computing mathematical functions | |
EP3358460B1 (en) | Systems and methods for computing mathematical functions | |
CN117648959A (en) | Multi-precision operand operation device supporting neural network operation | |
US9134958B2 (en) | Bid to BCD/DPD converters | |
US8180822B2 (en) | Method and system for processing the booth encoding 33RD term | |
CN110096677B (en) | Quick calculation method and system for high-order derivative function based on probability calculation | |
US9304739B1 (en) | Optimized 3D lighting computations using a logarithmic number system | |
CN116974509A (en) | Data type conversion method, processor, electronic device and storage medium | |
CN111324856A (en) | Computer-readable storage medium, computer-implemented method, and computational logic section | |
Palacios et al. | Design and implementation of a Mitchell-based logarithmic converter for a floating point coprocessor | |
KR20200002670A (en) | System and method of representing a line segment with two thin triangles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GIQUILA CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CAI, MIKE M.;ZHONG, LEFAN;REEL/FRAME:018136/0520 Effective date: 20060725 |
|
AS | Assignment |
Owner name: VIVANTE CORPORATION, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GIQUILA CORPORATION;REEL/FRAME:019545/0590 Effective date: 20070426 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2553); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 12 |