Number: 211 Date: 20-Mar-84 12':11':56 Submitter: Sannella.PA Source: MASINTER.PA Subject: Want': HORNERIFY in uCode Lisp Version: Description: ' Date': 19 MAR 84 23':55 PST' From': MASINTER.PA' Subject': HORNERIFY for hardware floating point opcode?' To': JonL' cc': LispSupport' ' Can you explain what HORNERIFY does? Is it possible to have a microcoded opcode which takes two args, an input and a vector of coefficients, and does the polynomial approximation?' ' This is the kind of thing that' (a) will really scream on DandeTiger' and show off floating point' (b) be generally useful for all kinds' of transcendental functions of' the users choosing.' ' How ''bout it?' ' (This is a Wish': I guess)' ' I dunno if you can really get it to' fit in 4K dorado, but if you wanted' to.... We want DandeTiger announcement' to look really good, and this is just' the kind of thing that will show it off.' ' -----' ' Date': 2 APR 84 12':37 PST' From': JONL.PA' Subject': Re': new transcendental functions' ....' ....' HORNERIFY is merely a shorthand way of writing out a polynomial evaluation --' it exists as a non-exported macro in AARITH and takes a form like' (HORNERIFY a[n] X a[n-1] . . . a2 a1 a0)' into the appropriate composition of FPLUS and FTIMES to evaluate the polynomial' a[n]X^n + a[n-1]X^(n-1) + . . . + a1X + a0' using, of course, horners rule for order of calculations.' ' ' The brunt of the work for numerical approximation is to find a transformation' of the argument domain into some limited domain under which a polynomial' approximation has desirable "closeness" to the function. There exist methods' for generating polynomials with minimum "max error" over the range, and there' exist methods for generating polynomials with minimum integral of error over' the domain. As you can imagine, a few points with large error can still be' quite acceptable to the latter method.' ' ' Workaround: Test Case: Edit-By: Sannella.PA Edit-Date: 3-Apr-84 10':39':16 Attn: Jonl.pa Assigned To: In/By: Disposition: System: Language Support Subsystem: Microcode Machine: Disk: Microcode Version: Memory Size: File Server: Server Software Version: Difficulty: Frequency: Everytime Impact: Priority: Status: Wish Problem Type: Performance Source Files: