Claims Analysis
Total Claims: 111
Claim 1
Independent Claim
151 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms, wherein each term has a corresponding coefficient; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; mapping the requested logical operation to a set of coefficients; determining which stored subsets of computer instructions are needed to implement the requested logical operation based on the mapped set of coefficients; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 2
Independent Claim
151 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms, wherein each term has a corresponding coefficient; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; mapping the requested logical operation to a set of coefficients; determining which stored subsets of computer instructions are needed to implement the requested logical operation based on the mapped set of coefficients; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 3
Dependent Claim
53 words
The method of claim 1 including the step of generating a coefficient table, and wherein the step of determining which stored subset of computer instructions are needed includes the step of retrieving the mapped set of coefficients from the coefficient table using the requested logical operation as an index into the coefficient table.
Claim 4
Dependent Claim
54 words
The method of claim 2 wherein the step of generating the coefficient table includes the steps of: for each set of coefficients, determining a logical operation that the set of coefficients represents; and storing the set of coefficients in the coefficient table using the determined logical operation as an index into the coefficient table.
Claim 5
Dependent Claim
230 words
The method of claim 2 wherein the specified Boolean equation is F(S.sub.1, S.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·S.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 S.sub.2 ⊕α.sub.5 ·S.sub.1 D⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D; wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are bitmaps; and wherein the step of generating the coefficient table comprises the following steps: for each set of coefficients, wherein each coefficient in the set of coefficients is represented by α i , and where i=1, 2, . . . 8; initializing a saved logical operation number to 0; for S 1 =the values 1 and 0, for S 2 =the values 1 and 0, for D=the values 1 and 0, evaluating the Boolean equation using the set of coefficients and the values of S 1 , S 2 , and D; multiplying the saved logical operation number by 2; and adding the result of the evaluated Boolean equation to the multiplied saved logical operation; and storing the set of coefficients in the coefficient table using the saved logical operation number as in index into the coefficient table.
Claim 6
Independent Claim
164 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms, wherein the specified Boolean equation describes all possible logical operations that can be performed on the bitmaps, and wherein the number of terms of the specified equation is less than the total number of possible logical operations; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 7
Independent Claim
164 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms, wherein the specified Boolean equation describes all possible logical operations that can be performed on the bitmaps, and wherein the number of terms of the specified equation is less than the total number of possible logical operations; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 8
Independent Claim
215 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms wherein the specified Boolean equation is F(S.sub.1, S.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·S.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 S.sub.2 ⊕α.sub.5 ·S.sub.1 D⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are bitmaps; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 9
Independent Claim
215 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms wherein the specified Boolean equation is F(S.sub.1, S.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·S.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 S.sub.2 ⊕α.sub.5 ·S.sub.1 D⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are bitmaps; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 10
Independent Claim
208 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms wherein the specified Boolean equation is F(S.sub.1, S.sub.2, D)=λ.sub.0 S.sub.1 S.sub.2 D+λ.sub.1 S.sub.1 S.sub.2 D'+λ.sub.2 S.sub.1 S.sub.2 'D+λ.sub.3 S.sub.1 S.sub.2 'D'+λ.sub.4 S.sub.1 'S.sub.2 D+λ.sub.5 S.sub.1 'S.sub.2 D'+λ.sub.6 S.sub.1 'S.sub.2 'D+λ.sub.7 S.sub.1 'S.sub.2 'D' wherein λ 0 . . . λ 7 are logical operation-specific coefficients of the equation, where + represents the Boolean inclusive-OR operator, where juxtaposition represents the Boolean AND operator, where ' represents the Boolean complement operator, and where S 1 , S 2 , and D are bitmaps; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 11
Independent Claim
208 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms wherein the specified Boolean equation is F(S.sub.1, S.sub.2, D)=λ.sub.0 S.sub.1 S.sub.2 D+λ.sub.1 S.sub.1 S.sub.2 D'+λ.sub.2 S.sub.1 S.sub.2 'D+λ.sub.3 S.sub.1 S.sub.2 'D'+λ.sub.4 S.sub.1 'S.sub.2 D+λ.sub.5 S.sub.1 'S.sub.2 D'+λ.sub.6 S.sub.1 'S.sub.2 'D+λ.sub.7 S.sub.1 'S.sub.2 'D' wherein λ 0 . . . λ 7 are logical operation-specific coefficients of the equation, where + represents the Boolean inclusive-OR operator, where juxtaposition represents the Boolean AND operator, where ' represents the Boolean complement operator, and where S 1 , S 2 , and D are bitmaps; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 12
Independent Claim
173 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation, wherein the stored subsets of computer instructions include alternative subsets of computer instructions for each term of the specified Boolean equation and wherein the alternative subsets of computer instructions are optimized to be a first subset of computer instructions of the combined subsets of computer instructions.
Claim 13
Independent Claim
173 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation, wherein the stored subsets of computer instructions include alternative subsets of computer instructions for each term of the specified Boolean equation and wherein the alternative subsets of computer instructions are optimized to be a first subset of computer instructions of the combined subsets of computer instructions.
Claim 14
Dependent Claim
50 words
The method of claim 8 wherein the stored subsets of computer instructions use a result register, wherein the alternative subsets of computer instructions implement the terms by storing the value of each term directly in the result register without performing a Boolean operation on previous contents of the result register.
Claim 15
Independent Claim
164 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, each bitmap having a plurality of bits, the method comprising the steps of; specifying a Boolean equation, the equation having a plurality of terms; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation; and combining the generated set of computer instructions with stored computer instructions which are common to all logical operations, the common stored computer instructions for looping through bits of the bitmaps.
Claim 16
Independent Claim
164 words
A method of generating a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, each bitmap having a plurality of bits, the method comprising the steps of; specifying a Boolean equation, the equation having a plurality of terms; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation; and combining the generated set of computer instructions with stored computer instructions which are common to all logical operations, the common stored computer instructions for looping through bits of the bitmaps.
Claim 17
Dependent Claim
25 words
The method of claim 10 wherein the common stored computer instructions are optimized to use only the bitmaps required to implement the requested logical operation.
Claim 18
Dependent Claim
25 words
The method of claim 10 wherein the common stored computer instructions are optimized to validate only the bitmaps required to implement the requested logical operation.
Claim 19
Independent Claim
127 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations; and for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table so that certain subsets of the computer instructions can be retrieved, combined, and executed to perform a specified logical operation.
Claim 20
Independent Claim
127 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations; and for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table so that certain subsets of the computer instructions can be retrieved, combined, and executed to perform a specified logical operation.
Claim 21
Dependent Claim
62 words
The method of claim 13 wherein each term has a corresponding coefficient and each logical operation is represented by a set of coefficients, and including the steps of specifying a logical operation to be performed on the plurality of inputs; and determining which stored subsets of computer instructions are needed to implement the specified logical operation based on the set of coefficients.
Claim 22
Dependent Claim
52 words
The method of claim 14 including the step of generating a coefficient table, and wherein the step of determining which stored subsets of computer instructions are needed includes the step of retrieving the set of coefficients from the coefficient table using the specified logical operation as an index into the coefficient table.
Claim 23
Dependent Claim
54 words
The method of claim 15 where the step of generating the coefficient table includes the steps of: for each set of coefficients, determining a logical operation that the set of coefficients represents; and storing the set of coefficients in the coefficient table using the determined logical operation as an index into the coefficient table.
Claim 24
Dependent Claim
49 words
The method of claim 14, each input having a plurality of bits, and including the additional step of combining the determined subsets of computer instructions with stored computer instructions which are common to all logical operations, the common stored computer instructions being used to control looping through the bits.
Claim 25
Dependent Claim
24 words
The method of claim 17 wherein the common stored computer instructions are optimized to load only the input required by the specified logical operation.
Claim 26
Dependent Claim
24 words
The method of claim 17 wherein the common stored computer instructions are optimized to validate only the inputs required by the specified logical operation.
Claim 27
Dependent Claim
23 words
The method of claim 13 wherein the specified equation describes all possible logical operations that can be performed on the plurality of inputs.
Claim 28
Dependent Claim
93 words
The method of claim 13 wherein the specified equation is F(S.sub.1, S.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·S.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 S.sub.2 ⊕α.sub.5 ·S.sub.1 D⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are the input.
Claim 29
Dependent Claim
86 words
The method of claim 13 wherein the specified equation is F(S.sub.1, S.sub.2, D)=λ.sub.0 S.sub.1 S.sub.2 D+λ.sub.1 S.sub.1 S.sub.2 D'+λ.sub.2 S.sub.1 S.sub.2 'D+λ.sub.3 S.sub.1 S.sub.2 'D'+λ.sub.4 S.sub.1 'S.sub.2 D+λ.sub.5 S.sub.1 'S.sub.2 D'+λ.sub.6 S.sub.1 'S.sub.2 'D+λ.sub.7 S.sub.1 'S.sub.2 'D' wherein λ 0 . . . λ 7 are logical operation-specific coefficients of the equation, where + represents the Boolean inclusive-OR operator, where juxtaposition represents the Boolean AND operator, where ' represents the Boolean complement operator, and where S 1 , S 2 , and D are the input.
Claim 30
Dependent Claim
48 words
The method of claim 13 wherein the stored subsets of computer instructions include alternative subsets of computer instructions for each term of the specified equation and wherein the alternative subsets of computer instructions are optimized to be a first subset of computer instructions in the generated computer code.
Claim 31
Dependent Claim
38 words
The method of claim 23 wherein the stored subsets of computer instructions use a result register, where the optimization includes storing directly in the result register without performing an operation on the previous contents of the result register.
Claim 32
Independent Claim
182 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations, each term having a corresponding coefficient, each logical operation being represented by a set of coefficients; generating a coefficient table; for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table; specifying a logical operation to be performed on the plurality of inputs; and determining which stored subset of computer instructions are needed to implement the specified logical operation base on the set of coefficients by retrieving the set of coefficients from the coefficient table using the specified logical operation as an index into the coefficient table.
Claim 33
Independent Claim
182 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations, each term having a corresponding coefficient, each logical operation being represented by a set of coefficients; generating a coefficient table; for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table; specifying a logical operation to be performed on the plurality of inputs; and determining which stored subset of computer instructions are needed to implement the specified logical operation base on the set of coefficients by retrieving the set of coefficients from the coefficient table using the specified logical operation as an index into the coefficient table.
Claim 34
Dependent Claim
54 words
The method of claim 25 where the step of generating the coefficient table includes the steps of: for each set of coefficients, determining a logical operation that the set of coefficients represents; and storing the set of coefficients in the coefficient table using the determined logical operation as an index into the coefficient table.
Claim 35
Independent Claim
195 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, each input having a plurality of bits, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations, each term having a corresponding coefficient, each logical operation being represented by a set of coefficients; for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table; specifying a logical operation to be performed on the plurality of inputs; and determining which stored subset of computer instructions are needed to implement the specified logical operation base on the set of coefficients by combining the determined subsets of computer instructions with stored computer instructions which are common to all logical operations, the common stored computer instructions being used to control looping through the bits.
Claim 36
Independent Claim
195 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, each input having a plurality of bits, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations, each term having a corresponding coefficient, each logical operation being represented by a set of coefficients; for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table; specifying a logical operation to be performed on the plurality of inputs; and determining which stored subset of computer instructions are needed to implement the specified logical operation base on the set of coefficients by combining the determined subsets of computer instructions with stored computer instructions which are common to all logical operations, the common stored computer instructions being used to control looping through the bits.
Claim 37
Dependent Claim
24 words
The method of claim 27 wherein the common stored computer instructions are optimized to load only the input required by the specified logical operation.
Claim 38
Dependent Claim
23 words
The method of claim 27 wherein the common stored computer instructions are optimized to validate only the inputs required by specified logical operation.
Claim 39
Independent Claim
195 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations, wherein the specified equation is F(S.sub.1, S.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·S.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 S.sub.2 ⊕α.sub.5 ·S.sub.1 D⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are the input; and for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instruction table.
Claim 40
Independent Claim
195 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations, wherein the specified equation is F(S.sub.1, S.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·S.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 S.sub.2 ⊕α.sub.5 ·S.sub.1 D⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are the input; and for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instruction table.
Claim 41
Independent Claim
188 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations, wherein the specified equation is F(S.sub.1, S.sub.2, D)=λ.sub.0 S.sub.1 S.sub.2 D+λ.sub.1 S.sub.1 S.sub.2 D'+λ.sub.2 S.sub.1 S.sub.2 'D+λ.sub.3 S.sub.1 S.sub.2 'D'+λ.sub.4 S.sub.1 'S.sub.2 D+λ.sub.5 S.sub.1 'S.sub.2 D'+λ.sub.6 S.sub.1 'S.sub.2 'D+λ.sub.7 S.sub.1 'S.sub.2 'S' wherein λ 0 . . . λ 7 are logical operation-specific coefficients of the equation, where + represents the Boolean inclusive-OR operator, where juxtaposition represents the Boolean AND operator, where ' represents the Boolean complement operator, and where S 1 , S 2 , and D are the input; and for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table.
Claim 42
Independent Claim
188 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations, wherein the specified equation is F(S.sub.1, S.sub.2, D)=λ.sub.0 S.sub.1 S.sub.2 D+λ.sub.1 S.sub.1 S.sub.2 D'+λ.sub.2 S.sub.1 S.sub.2 'D+λ.sub.3 S.sub.1 S.sub.2 'D'+λ.sub.4 S.sub.1 'S.sub.2 D+λ.sub.5 S.sub.1 'S.sub.2 D'+λ.sub.6 S.sub.1 'S.sub.2 'D+λ.sub.7 S.sub.1 'S.sub.2 'S' wherein λ 0 . . . λ 7 are logical operation-specific coefficients of the equation, where + represents the Boolean inclusive-OR operator, where juxtaposition represents the Boolean AND operator, where ' represents the Boolean complement operator, and where S 1 , S 2 , and D are the input; and for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table.
Claim 43
Independent Claim
150 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations; and for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table wherein the stored subsets of computer instructions include alternative subsets of computer instructions for each term of the specified equation and wherein the alternative subsets of computer instructions are optimized to be a first subset of computer instructions in the generated computer code.
Claim 44
Independent Claim
150 words
A method for storing a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations; and for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table wherein the stored subsets of computer instructions include alternative subsets of computer instructions for each term of the specified equation and wherein the alternative subsets of computer instructions are optimized to be a first subset of computer instructions in the generated computer code.
Claim 45
Dependent Claim
38 words
The method of claim 32 wherein the stored subsets of computer instructions use a result register, where the optimization includes storing directly in the result register without performing an operation on the previous contents of the result register.
Claim 46
Independent Claim
117 words
A method for generating a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation having a plurality of terms; for each term of the equation, generating a subset of computer instructions that implements the term; during execution of a computer program, requesting a logical operation; determining which generated subsets of computer instructions are needed to implement the requested logical operation; retrieving the determining subsets of computer instructions; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 47
Independent Claim
117 words
A method for generating a set of computer instructions to implement logical operations on a plurality of inputs, the method comprising the steps of: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation having a plurality of terms; for each term of the equation, generating a subset of computer instructions that implements the term; during execution of a computer program, requesting a logical operation; determining which generated subsets of computer instructions are needed to implement the requested logical operation; retrieving the determining subsets of computer instructions; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 48
Dependent Claim
47 words
The method of claim 34 wherein each term has a corresponding coefficient, wherein the logical operation represents a set of coefficients for the equation, and wherein the step of determining which generated subsets of computer, instructions are needed makes the determination based on the set of coefficients.
Claim 49
Dependent Claim
45 words
The method of claim 35 including the step of generating a coefficient table, and wherein the step of determining which generated subsets of computer instructions are needed includes the step of retrieving the set of coefficients from the coefficient table based on requested logical operation.
Claim 50
Dependent Claim
42 words
The method of claim 36 wherein the step of generating the coefficient table includes the steps of: for each set of coefficients, determining a logical operation that the set of coefficients represents; and storing the set of coefficients in the coefficient table.
Claim 51
Dependent Claim
50 words
The method of claim 34 wherein the generated subsets of computer instructions include alternative subsets of computer instructions for each term of the specified equation and wherein the alternative subsets of computer instructions are optimized to be a first subset of computer instructions of the combined subsets of computer instructions.
Claim 52
Dependent Claim
35 words
The method of claim 38 wherein the generated subsets of computer instructions store a value of the term directly in the result register without performing a Boolean operation on previous contents of the result register.
Claim 53
Dependent Claim
51 words
The method of claim 34 wherein each input has a plurality of bits, and including the additional step of combining the generated set of computer instructions with computer instructions which are common to all logical operations, the common computer instructions being used to control looping through the bits of the input.
Claim 54
Dependent Claim
23 words
The method of claim 40 wherein the common computer instructions are optimized to load only the input required by the requested logical operation.
Claim 55
Dependent Claim
23 words
The method of claim 40 wherein the common computer instructions are optimized to validate only the input required by the requested logical operation.
Claim 56
Dependent Claim
43 words
The method of claim 34 wherein the specified equation describes all possible logical operations that can be performed on the plurality of inputs, and wherein the number of terms of the specified equation is less than the total number of possible logical operations.
Claim 57
Dependent Claim
97 words
The method of claim 34 wherein the specified equation is F(S.sub.1, S.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·S.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 S.sub.2 ⊕α.sub.5 ·S.sub.1 D⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are bitmaps representing the plurality of input.
Claim 58
Dependent Claim
92 words
The method of claim 34 wherein the specified equation is the Boolean equation F(S.sub.1, S.sub.2, D)=λ.sub.0 S.sub.1 S.sub.2 D+λ.sub.1 S.sub.1 S.sub.2 D'+λ.sub.2 S.sub.1 S.sub.2 'D+λ.sub.3 S.sub.1 S.sub.2 'D'+λ.sub.4 S.sub.1 'S.sub.2 D+λ.sub.5 S.sub.1 'S.sub.2 D'+λ.sub.6 S.sub.1 'S.sub.2 'D+λ.sub.7 S.sub.1 'S.sub.2 'D' wherein λ 0 . . . λ 7 logical operation-specific coefficients of the equation, where + represents the Boolean inclusive-OR operator, where juxtaposition represent the Boolean AND operator, where ' represents the Boolean complement operator, and where S 1 , S 2 , and D are bitmaps representing the plurality of input.
Claim 59
Independent Claim
100 words
A method for performing a logical operation on a plurality of inputs, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; during execution of a computer program, specifying a logical operation; determining which generated subsets of computer instructions are needed to implement the requested logical operation; and combining the determined subsets of computer instructions to generate a set of computer instructions that implements the specified logical operation; and executing the generated set of computer instructions.
Claim 60
Independent Claim
100 words
A method for performing a logical operation on a plurality of inputs, the method comprising the steps of: specifying a Boolean equation, the equation having a plurality of terms; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; during execution of a computer program, specifying a logical operation; determining which generated subsets of computer instructions are needed to implement the requested logical operation; and combining the determined subsets of computer instructions to generate a set of computer instructions that implements the specified logical operation; and executing the generated set of computer instructions.
Claim 61
Dependent Claim
43 words
The method of claim 46 wherein the specified Boolean equation describes all possible logical operations that can be performed on the inputs, and wherein the number of terms of the specified Boolean equation is less than the total number of possible logical operations.
Claim 62
Independent Claim
119 words
A method for generating a set of computer instructions to implement a logical operation to be performed on two source bitmaps, S 1 and S 2 , and a destination bitmap, D, the method comprising the steps of: generating a subset of computer instructions for each term of a Boolean equation that defines all possible 256 logical combinations of S 1 , S 2 , and D, the Boolean equation having 8 terms, each term having a Boolean operation and a corresponding subset of computer instructions that implements the Boolean operation; and during execution of a computer program, combining subsets of computer instructions that are needed to implement the logical operation to form the generated set of computer instructions.
Claim 63
Independent Claim
119 words
A method for generating a set of computer instructions to implement a logical operation to be performed on two source bitmaps, S 1 and S 2 , and a destination bitmap, D, the method comprising the steps of: generating a subset of computer instructions for each term of a Boolean equation that defines all possible 256 logical combinations of S 1 , S 2 , and D, the Boolean equation having 8 terms, each term having a Boolean operation and a corresponding subset of computer instructions that implements the Boolean operation; and during execution of a computer program, combining subsets of computer instructions that are needed to implement the logical operation to form the generated set of computer instructions.
Claim 64
Independent Claim
116 words
An apparatus for performing a logical operation on a plurality of bitmaps, the apparatus having a subset of computer instructions that implements each term of a Boolean equation, the apparatus comprising: means for indentifying which subsets of computer instructions are needed to implement the logical operation, the means for identifying including means for specifying coefficients of the Boolean equation that implement the logical operation; and means for selecting subsets of computer instructions based on the specified coefficients; means for combining the identified subsets of computer instructions into a set of computer instructions that implements the logical operation; and means for executing the set of computer instructions to perform the logical operation on the plurality of bitmaps.
Claim 65
Independent Claim
116 words
An apparatus for performing a logical operation on a plurality of bitmaps, the apparatus having a subset of computer instructions that implements each term of a Boolean equation, the apparatus comprising: means for indentifying which subsets of computer instructions are needed to implement the logical operation, the means for identifying including means for specifying coefficients of the Boolean equation that implement the logical operation; and means for selecting subsets of computer instructions based on the specified coefficients; means for combining the identified subsets of computer instructions into a set of computer instructions that implements the logical operation; and means for executing the set of computer instructions to perform the logical operation on the plurality of bitmaps.
Claim 66
Independent Claim
168 words
An apparatus for performing a logical operation on a plurality of inputs, the apparatus comprising: means for storing a plurality of subsets of computer instructions that implement each term of a Boolean equation, wherein the Boolean equation is F(S.sub.1, S.sub.2, D)=λ.sub.0 S.sub.1 S.sub.2 D+λ.sub.1 S.sub.1 S.sub.2 D'+λ.sub.2 S.sub.1 S.sub.2 'D+λ.sub.3 S.sub.1 S.sub.2 'D'+λ.sub.4 S.sub.1 'S.sub.2 D+λ.sub.5 S.sub.1 'S.sub.2 D'+λ.sub.6 S.sub.1 'S.sub.2 D'+λ.sub.7 S.sub.1 'S.sub.2 'D' wherein λ 0 . . . λ 7 are logical operation-specific coefficients of the equation, where + represents the Boolean inclusive-OR operator, where juxtaposition represents the Boolean AND operator, where ' represents the Boolean complement operator, and where S 1 , S 2 , and D are bitmaps; means for identifying which stored subsets of computer instructions are needed to implement the logical operation; means for combining the identified subsets of computer instructions into a set of computer instructions that implements the logical operation; and means for executing the set of computer instructions to perform the logical operation on the plurality of inputs.
Claim 67
Independent Claim
168 words
An apparatus for performing a logical operation on a plurality of inputs, the apparatus comprising: means for storing a plurality of subsets of computer instructions that implement each term of a Boolean equation, wherein the Boolean equation is F(S.sub.1, S.sub.2, D)=λ.sub.0 S.sub.1 S.sub.2 D+λ.sub.1 S.sub.1 S.sub.2 D'+λ.sub.2 S.sub.1 S.sub.2 'D+λ.sub.3 S.sub.1 S.sub.2 'D'+λ.sub.4 S.sub.1 'S.sub.2 D+λ.sub.5 S.sub.1 'S.sub.2 D'+λ.sub.6 S.sub.1 'S.sub.2 D'+λ.sub.7 S.sub.1 'S.sub.2 'D' wherein λ 0 . . . λ 7 are logical operation-specific coefficients of the equation, where + represents the Boolean inclusive-OR operator, where juxtaposition represents the Boolean AND operator, where ' represents the Boolean complement operator, and where S 1 , S 2 , and D are bitmaps; means for identifying which stored subsets of computer instructions are needed to implement the logical operation; means for combining the identified subsets of computer instructions into a set of computer instructions that implements the logical operation; and means for executing the set of computer instructions to perform the logical operation on the plurality of inputs.
Claim 68
Dependent Claim
32 words
The apparatus of claim 50 wherein the means for identifying includes means for specifying coefficients of the Boolean equation; and means for selecting subsets of computer instructions based on the specified coefficients.
Claim 69
Independent Claim
175 words
An apparatus for performing a logical operation on a plurality of inputs, the apparatus comprising: means for storing a plurality of subsets of computer instructions that implement each term of a Boolean equation wherein the Boolean equation is F(S.sub.1, S.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·S.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 S.sub.2 ⊕α.sub.5 ·S.sub.1 D⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are bitmaps; means for identifying which stored subsets of computer instructions are needed to implement the logical operation; means for combining the identified subsets of computer instructions into a set of computer instructions that implements the logical operation; and means for executing the set of computer instructions to perform the logical operation on the plurality of inputs.
Claim 70
Independent Claim
175 words
An apparatus for performing a logical operation on a plurality of inputs, the apparatus comprising: means for storing a plurality of subsets of computer instructions that implement each term of a Boolean equation wherein the Boolean equation is F(S.sub.1, S.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·S.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 S.sub.2 ⊕α.sub.5 ·S.sub.1 D⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are bitmaps; means for identifying which stored subsets of computer instructions are needed to implement the logical operation; means for combining the identified subsets of computer instructions into a set of computer instructions that implements the logical operation; and means for executing the set of computer instructions to perform the logical operation on the plurality of inputs.
Claim 71
Dependent Claim
32 words
The apparatus of claim 52 wherein the means for identifying includes means for specifying coefficients of the Boolean equation; and means for selecting subsets of computer instructions based on the specified coefficients.
Claim 72
Independent Claim
119 words
An apparatus for performing a logical operation on a plurality of inputs, the apparatus comprising: means for storing a plurality of subsets of computer instructions that implement each term of a Boolean equation; means for identifying which stored subsets of computer instructions are needed to implement the logical operation, the means for identifying including means or specifying coefficients of the Boolean equation that implement the logical operation; and means for selecting subsets of computer instructions based on the specified coefficients; means for combining the identified subsets of computer instructions into a set of computer instructions that implements the logical operation; and means for executing the set of computer instructions to perform the logical operation on the plurality of inputs.
Claim 73
Independent Claim
119 words
An apparatus for performing a logical operation on a plurality of inputs, the apparatus comprising: means for storing a plurality of subsets of computer instructions that implement each term of a Boolean equation; means for identifying which stored subsets of computer instructions are needed to implement the logical operation, the means for identifying including means or specifying coefficients of the Boolean equation that implement the logical operation; and means for selecting subsets of computer instructions based on the specified coefficients; means for combining the identified subsets of computer instructions into a set of computer instructions that implements the logical operation; and means for executing the set of computer instructions to perform the logical operation on the plurality of inputs.
Claim 74
Independent Claim
76 words
An apparatus for generating a value of a logical operation on a plurality of inputs, the apparatus comprising: means for mapping a binary representation of the logical operation to a set of coefficients for the terms; means for determining a result of each term of a Boolean equation based on the input and the mapped binary representation; and parity means for generating the parity of the results, the parity being the value for the logical operation.
Claim 75
Independent Claim
76 words
An apparatus for generating a value of a logical operation on a plurality of inputs, the apparatus comprising: means for mapping a binary representation of the logical operation to a set of coefficients for the terms; means for determining a result of each term of a Boolean equation based on the input and the mapped binary representation; and parity means for generating the parity of the results, the parity being the value for the logical operation.
Claim 76
Independent Claim
222 words
An apparatus for performing a logical operation on a plurality of bits, comprising: bit storage means for each of the plurality of bits, each bit storage means having an output serial line for outputting the bit; means for storing coefficients of terms of a Boolean equation, the coefficients representing the logical operation to be performed on the bits, the means for storing having a plurality of input logical operation lines and a plurality of output coefficient lines, wherein when a logical operation is specified on the input logical operation lines, the coefficients for the specified logical operation are output to the output coefficient lines; a plurality of logic gates for determining a result of each term of the Boolean equation, each logic gate with input term lines and an output term line, wherein the input term lines are connected to the output serial lines and to the output coefficient lines to effect generating the result of each term of the Boolean equation; and term combining means with input combining lines and an result line, the input combining lines being connected to the output term lines, the result line having a value which is a result combining the input combining lines, wherein the result represents the logical operation performed on the bits output on the output serial lines of the bit storage means.
Claim 77
Independent Claim
222 words
An apparatus for performing a logical operation on a plurality of bits, comprising: bit storage means for each of the plurality of bits, each bit storage means having an output serial line for outputting the bit; means for storing coefficients of terms of a Boolean equation, the coefficients representing the logical operation to be performed on the bits, the means for storing having a plurality of input logical operation lines and a plurality of output coefficient lines, wherein when a logical operation is specified on the input logical operation lines, the coefficients for the specified logical operation are output to the output coefficient lines; a plurality of logic gates for determining a result of each term of the Boolean equation, each logic gate with input term lines and an output term line, wherein the input term lines are connected to the output serial lines and to the output coefficient lines to effect generating the result of each term of the Boolean equation; and term combining means with input combining lines and an result line, the input combining lines being connected to the output term lines, the result line having a value which is a result combining the input combining lines, wherein the result represents the logical operation performed on the bits output on the output serial lines of the bit storage means.
Claim 78
Dependent Claim
36 words
The apparatus of claim 56 wherein the plurality of logic gates are logical-AND gates and the term combining means is a parity generator in which the result line is the parity of the input combining lines.
Claim 79
Dependent Claim
48 words
The apparatus of claim 56 wherein each bit storage means includes a shift register for receiving each bit of a bitmap in parallel and for shifting each bit of the bitmap in serial to effect the performing of logical operation on each of the bits of the bitmaps.
Claim 80
Independent Claim
218 words
An apparatus for performing a logical operation on a plurality of bits, comprising: bit storage means for each of the plurality of bits, each bit storage means having an output serial line for outputting the bits; means for storing coefficients of terms of a Boolean equation, the coefficients representing the logical operation to be performed on the bits, the means for storing having a plurality of output coefficient lines; a plurality of logic gates for determining a result of each term of the Boolean equation, each logic gate with input term lines and an output term line, wherein the input term lines are connected to the output serial lines and to the output coefficient lines to effect generating the result of each term of the Boolean equation, wherein the plurality of logic gates are logical-AND gates; and term combining means with input combining lines and an result line, the input combining lines being connected to the output term lines, the result line having a value which is a result combining the input combining lines, wherein the result represents the logical operation performed on the bits output on the output serial lines of the bit storage means, wherein the term combining means is a parity generator in which the result line is the parity of the input combining lines.
Claim 81
Independent Claim
218 words
An apparatus for performing a logical operation on a plurality of bits, comprising: bit storage means for each of the plurality of bits, each bit storage means having an output serial line for outputting the bits; means for storing coefficients of terms of a Boolean equation, the coefficients representing the logical operation to be performed on the bits, the means for storing having a plurality of output coefficient lines; a plurality of logic gates for determining a result of each term of the Boolean equation, each logic gate with input term lines and an output term line, wherein the input term lines are connected to the output serial lines and to the output coefficient lines to effect generating the result of each term of the Boolean equation, wherein the plurality of logic gates are logical-AND gates; and term combining means with input combining lines and an result line, the input combining lines being connected to the output term lines, the result line having a value which is a result combining the input combining lines, wherein the result represents the logical operation performed on the bits output on the output serial lines of the bit storage means, wherein the term combining means is a parity generator in which the result line is the parity of the input combining lines.
Claim 82
Independent Claim
231 words
An apparatus for performing a logical operation on a plurality of bits, comprising: bit storage means for each of the plurality of bits, each bit storage means having an output serial line for outputting the bit, wherein each bit storage means includes a shift register for receiving each bit of a bitmap in parallel and for shifting each bit of the bitmap in serial to effect the performing of the logical operation on each of the bits of the bitmaps; means for storing coefficients of terms of a Boolean equation, the coefficients representing the logical operation to be performed on the bits, the means for storing having a plurality of output coefficient lines; a plurality of logic gates for determining a result of each term of the Boolean equation, each logic gate with input term lines and an output term line, wherein the input term lines are connected to the output serial lines and to the output coefficient lines to effect generating the result of each term of the Boolean equation; and term combining means with input combining lines and an result line, the input combining lines being connected to the output term lines, the result line having a value which is a result combining the input combining lines, wherein the result represents the logical operation performed on the bits output on the output serial lines of the bit storage means.
Claim 83
Independent Claim
231 words
An apparatus for performing a logical operation on a plurality of bits, comprising: bit storage means for each of the plurality of bits, each bit storage means having an output serial line for outputting the bit, wherein each bit storage means includes a shift register for receiving each bit of a bitmap in parallel and for shifting each bit of the bitmap in serial to effect the performing of the logical operation on each of the bits of the bitmaps; means for storing coefficients of terms of a Boolean equation, the coefficients representing the logical operation to be performed on the bits, the means for storing having a plurality of output coefficient lines; a plurality of logic gates for determining a result of each term of the Boolean equation, each logic gate with input term lines and an output term line, wherein the input term lines are connected to the output serial lines and to the output coefficient lines to effect generating the result of each term of the Boolean equation; and term combining means with input combining lines and an result line, the input combining lines being connected to the output term lines, the result line having a value which is a result combining the input combining lines, wherein the result represents the logical operation performed on the bits output on the output serial lines of the bit storage means.
Claim 84
Dependent Claim
167 words
A computer-readable medium containing instructions for causing a computer system to generate a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, by: specifying a Boolean equation, the equation having a plurality of terms, wherein the specified Boolean equation describes all possible logical operations that can be performed on the bitmaps, and wherein the number of terms of the specified equation is less than the total number of possible logical operations; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 85
Dependent Claim
167 words
A computer-readable medium containing instructions for causing a computer system to generate a set of computer instructions to implement a logical operation to be performed on a plurality of bitmaps, by: specifying a Boolean equation, the equation having a plurality of terms, wherein the specified Boolean equation describes all possible logical operations that can be performed on the bitmaps, and wherein the number of terms of the specified equation is less than the total number of possible logical operations; for each term of the Boolean equation, generating a subset of computer instructions that implements the term; storing each generated subset of computer instructions in a computer instructions table; and during execution of a computer program, requesting a logical operation; determining which stored subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions from the computer instructions table; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 86
Dependent Claim
129 words
A computer-readable medium containing instructions for causing a computer system to store a set of computer instructions to implement logical operations on a plurality of inputs, by: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations; and for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table so that certain subsets of the computer-instructions can be retrieved, combined, and executed to perform a specified logical operation.
Claim 87
Dependent Claim
129 words
A computer-readable medium containing instructions for causing a computer system to store a set of computer instructions to implement logical operations on a plurality of inputs, by: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation describing all possible logical operations that can be performed on the inputs, the equation having a plurality of terms where the number of terms is less than the total number of possible logical operations; and for each term of the equation, generating a subset of computer instructions that implements the term; and storing each generated subset of computer instructions in a computer instructions table so that certain subsets of the computer-instructions can be retrieved, combined, and executed to perform a specified logical operation.
Claim 88
Dependent Claim
60 words
The computer-readable medium of claim 62 wherein each term has a corresponding coefficient and each logical operation is represented by a set of coefficients, and including specifying a logical operation to be performed on the plurality of inputs; and determining which stored subsets of computer instructions are needed to implement the specified logical operation based on the set of coefficients.
Claim 89
Dependent Claim
47 words
The computer-readable medium of claim 63 including generating a coefficient table, and wherein the step of determining which stored subsets of computer instructions are needed includes retrieving the set of coefficients from the coefficient table using the specified logical operation as an index into the coefficient table.
Claim 90
Dependent Claim
49 words
The computer-readable medium of claim 64 wherein generating the coefficient table includes: for each set of coefficients, determining a logical operation that the set of coefficients represents; and storing the set of coefficients in the coefficient table using the determined logical operation as an index into the coefficient table.
Claim 91
Dependent Claim
46 words
The computer-readable medium of claim 63, each input having a plurality of bits, and including combining the determined subsets of computer instructions with stored computer instructions which are common to all logical operations, the common stored computer instructions being used to control looping through the bits.
Claim 92
Dependent Claim
25 words
The computer-readable medium of claim 66 wherein the common stored computer instructions are optimized to load only the input required by the specified logical operation.
Claim 93
Dependent Claim
25 words
The computer-readable medium of claim 66 wherein the common stored computer instructions are optimized to validate only the inputs required by the specified logical operation.
Claim 94
Dependent Claim
24 words
The computer-readable medium of claim 62 wherein the specified equation describes all possible logical operations that can be performed on the plurality of inputs.
Claim 95
Dependent Claim
94 words
The computer-readable medium of claim 62 wherein the specified equation is F(S.sub.1, s.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·S.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 S.sub.2 ⊕α.sub.5 ·S.sub.1 D⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are the input.
Claim 96
Dependent Claim
87 words
The computer-readable medium of claim 62 wherein the specified equation is F(S.sub.1, S.sub.2, D)=λ.sub.0 S.sub.1 S.sub.2 D+λ.sub.1 S.sub.1 S.sub.2 D'+λ.sub.2 S.sub.1 S.sub.2 'D+λ.sub.3 S.sub.1 S.sub.2 'D'+λ.sub.4 S.sub.1 'S.sub.2 D+λ.sub.5 S.sub.1 'S.sub.2 D'+λ.sub.6 S.sub.1 'S.sub.2 'D+λ.sub.7 S.sub.1 'S.sub.2 'D' wherein λ 0 . . . λ 7 are logical operation-specific coefficients of the equation, where + represents the Boolean inclusive-OR operator, where juxtaposition represents the Boolean AND operator, where ' represents the Boolean complement operator, and where S 1 , S 2 , and D are the input.
Claim 97
Dependent Claim
49 words
The computer-readable medium of claim 62 wherein the stored subsets of computer instructions include alternative subsets of computer instructions for each term of the specified equation and wherein the alternative subsets of computer instructions are optimized to be a first subset of computer instructions in the generated computer code.
Claim 98
Dependent Claim
39 words
The computer-readable medium of claim 72 wherein the stored subsets of computer instructions use a result register, where the optimization includes storing directly in the result register without performing an operation on the previous contents of the result register.
Claim 99
Dependent Claim
120 words
A computer-readable medium containing instructions for causing a computer system to generate a set of computer instructions to implement logical operations on a plurality of inputs, by: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation having a plurality of terms; for each term of the equation, generating a subset of computer instructions that implements the term; during execution of a computer program, requesting a logical operation; determining which generated subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 100
Dependent Claim
120 words
A computer-readable medium containing instructions for causing a computer system to generate a set of computer instructions to implement logical operations on a plurality of inputs, by: specifying an equation that represents a plurality of logical operations that can be performed on the inputs, the equation having a plurality of terms; for each term of the equation, generating a subset of computer instructions that implements the term; during execution of a computer program, requesting a logical operation; determining which generated subsets of computer instructions are needed to implement the requested logical operation; retrieving the determined subsets of computer instructions; and combining the retrieved subsets of computer instructions to generate the set of computer instructions that implements the requested logical operation.
Claim 101
Dependent Claim
45 words
The computer-readable medium of claim 74 wherein each term has a corresponding coefficient, wherein the logical operation represents a set of coefficients for the equation, and wherein determining which generated subsets of computer instructions are needed makes the determination based on the set of coefficients.
Claim 102
Dependent Claim
40 words
The computer-readable medium of claim 75 including generating a coefficient table, and wherein determining which generated subsets of computer instructions are needed includes the step of retrieving the set of coefficients from the coefficient table based on requested logical operation.
Claim 103
Dependent Claim
37 words
The computer-readable medium of claim 76 wherein generating the coefficient table includes: for each set of coefficients, determining a logical operation that the set of coefficients represents; and storing the set of coefficients in the coefficient table.
Claim 104
Dependent Claim
44 words
The computer-readable medium of claim 74 wherein the specified equation describes all possible logical operations that can be performed on the plurality of inputs, and wherein the number of terms of the specified equation is less than the total number of possible logical operations.
Claim 105
Dependent Claim
98 words
The computer-readable medium of claim 74 wherein the specified equation is F(S.sub.1, S.sub.2, D)=α.sub.0 ·1⊕α.sub.1 ·S.sub.1 ⊕α.sub.2 ·s.sub.2 ⊕α.sub.3 ·D⊕α.sub.4 ·S.sub.1 s.sub.2 ⊕α.sub.5 ·S.sub.1 S⊕α.sub.6 ·S.sub.2 D⊕α.sub.7 ·S.sub.1 S.sub.2 D wherein α 0 . . . α 7 are logical operation-specific coefficients of the equation, where ⊕ represents the Boolean exclusive-OR operator, where · and juxtaposition represent the Boolean AND operator, where logical 1, S 1 , . . . , S 1 S 2 D are terms of the equation, and where S 1 , S 2 , and D are bitmaps representing the plurality of input.
Claim 106
Dependent Claim
94 words
The computer-readable medium of claim 74 wherein the specified equation is the Boolean equation F(S.sub.1, S.sub.2, D)=λ.sub.0 S.sub.1 S.sub.2 D+λ.sub.1 S.sub.1 S.sub.2 D'+λ.sub.2 S.sub.1 S.sub.2 'D+λ.sub.3 S.sub.1 S.sub.2 'D'+λ.sub.4 S.sub.1 'S.sub.2 D+λ.sub.5 S.sub.1 'S.sub.2 D'+.sub.6 S.sub.1 'S.sub.2 'D+λ.sub.7 S.sub.1 'S.sub.2 'D' wherein λ 0 . . . λ 7 are logical operation-specific coefficients of the equation, where + represents the Boolean inclusive-OR operator, where juxtaposition represents the Boolean AND operator, where ' represents the Boolean complement operator, and where S 1 , S 2 , and D are bitmaps representing the plurality of input.
Claim 107
Dependent Claim
51 words
The computer-readable medium of claim 74 wherein the generated subsets of computer instructions include alternative subsets of computer instructions for each term of the specified equation and wherein the alternative subsets of computer instructions are optimized to be a first subset of computer instructions of the combined subsets of computer instructions.
Claim 108
Dependent Claim
36 words
The computer-readable medium of claim 81 wherein the generated subsets of computer instructions store a value of the term directly in the result register without performing a Boolean operation on previous contents of the result register.
Claim 109
Dependent Claim
48 words
The computer-readable medium of claim 74 wherein each input has a plurality of bits, and including combining the generated set of computer instructions with computer instructions which are common to all logical operations, the common computer instructions being used to control looping through the bits of the input.
Claim 110
Dependent Claim
24 words
The computer-readable medium of claim 83 wherein the common computer instructions are optimized to load only the input required by the requested logical operation.
Claim 111
Dependent Claim
24 words
The computer-readable medium of claim 83 wherein the common computer instructions are optimized to validate only the input required by the requested logical operation.