Abstract:
A computer program product and computer system for implementing a method of compiler optimisation of source code during compilation of the source code in a computer environment. The compiler optimisation of source code includes: recasting two algebraic expressions into a form of one or more token pairs arranged sequentially in a string, each token pair including an operator followed by an operand; reducing the strings in accordance with a set of predetermined simplifying rules; and comparing the reduced strings by matching to detect an equivalence of the two algebraic expressions.
Abstract:
A computer implemented method (200) is described for determining the equivalence of two sets of simultaneous linear algebraic equations. Each of said equations is of a form: ei1x1+ei2x2+ei3x3+ . . . +eiixn=bi wherein xj are unknowns, eij are coefficients and bi are quantities, and defining the relationship between the unknowns within the set. The coefficients and quantities are known algebraic expressions. The unknowns are iteratively eliminated (250 to 280) from each of the sets of simultaneous linear algebraic equations until each of said equations are in the form: (lii)kxi=(ri)k wherein lii and ri are algebraic expressions, and k={1;2} indicate one of said sets that said equation is derived from. The products (lii)1*(ri)2 and (lii)2*(ri)1 are compared (300) for each of the unknowns. Only if the products match (310) for all the unknowns are the two sets of simultaneous linear algebraic equations equivalent (312). An apparatus (100) for performing the above method (200) is also provided.
Abstract:
A method, apparatus, and computer program product for determining, in a computer environment, the equivalence, if any, of two algebraic expressions. The expressions are recast into a form of one or more token pairs arranged sequentially in a string, such that each token pair includes an operator followed by an operand. The strings are reduced in accordance with a set of predetermined simplifying rules. The reduced strings are compared by matching, to detect equivalence of the two algebraic expressions. The source code is compiled into object code, wherein the source code includes the two algebraic expressions, and wherein the compiling includes the recasting, the reducing, and the comparing. The method, apparal us, and computer program product may be used in compiler optimisation of source code and like computing tasks.
Abstract:
A computer program product and computer system for implementing a method of compiler optimisation of source code during compilation of the source code in a computer environment. The compiler optimisation of source code includes: recasting two algebraic expressions into a form of one or more token pairs arranged sequentially in a string, each token pair including an operator followed by an operand; reducing the strings in accordance with a set of predetermined simplifying rules; and comparing the reduced strings by matching to detect an equivalence of the two algebraic expressions.
Abstract:
A computer implemented method (200) is provided for representing a network in a canonical form. The network has nodes and arcs. Each arc has a source node and a destination node. Each node has an identifier, and optionally, one or more properties. Various manipulations that may be carried out on the network's canonical representation are also provided. Further, a computer implemented method is provided for determining the equivalence between two networks either on the basis of the nodes' identifiers or some specific property of the nodes. An apparatus (100) for performing the above method (200) is also provided.
Abstract:
A method and system for analysing software to estimate the cost of production, development and maintenance of computer applications. Unlike previous proposals for such analysis, where the primary measured parameters are the numbers of lines of code and function points, the inventive method identifies high complexity software segments arising from specific discontinuities in execution of the program, ie points at which the program has to, in effect, make decisions. These items are assigned complexity indices which may be summed to give an overall complexity value for the program or the indices may be displayed as a histogram showing the complexity distribution of the program.
Abstract:
A method and apparatus for searching data to locate a portion identified by a search query. The data may comprise text files in a database. The search query comprises a sequence of two or more data fragments expected to be contained in the portion of data being sought. The method comprises receiving the data fragments and searching the data to locate the first fragment, then searching to find the location of the last. The method may include locating the earliest match between the data and the last data fragment which is preceded by matches between the data and each other fragment, the object being to find the shortest section of data which contains all the fragments in the right sequence and without overlapping one with another. The identified portion of text can be highlighted in a display of the data.
Abstract:
The present invention discloses a method of allocating resource units such as hotel rooms, computer memory locations, seats in an aircraft, etc which constitute a sequence of allocatable resource units. Each resource unit is identified with a leading and a trailing identifier separated by a first divider and placed in a string which is able to be compared with a similar string representing an allocation criterion. The strings are matched and if a match is successful then the first divider of the matched portion of the string is replaced with a second divider which thereby indicates that an allocation has been made. A system for carrying out the above method and a computer program product incorporating the method are also disclosed. A method of queuing resource allocation and deallocation requests is also disclosed.
Abstract:
A method and apparatus for searching data to locate a portion identified by a search query. The data may comprise text files in a database. The search query comprises two or more data fragments expected to be contained in the portion of data being sought and in any order. The method comprises receiving the data fragments and searching the data to locate matches between the data and the respective data fragments. Any overlapping matches are discriminated and replaced by an iterative search process until there is found a minimal portion of the data containing all of the data fragments without overlaps, the term minimal meaning a portion with only one complete set of the data fragments (though some but not all can be duplicated). The identified portion of text can be highlighted in a display of the data.
Abstract:
A remedial method (200) and apparatus (100) is described, by which unit information can be documented in a computer program. A set of user-supplied precompiler directives is added to the computer program that is to be converted, in which a preferred set of units, called primary units, are prescribed. A precompiler tool performs a conversion of a unit to its corresponding unit in the preferred set of units.