02/20/85 generic_math_ The generic_math_ subroutine is used to perform basic arithmetic operations on the generic numeric data types. The operations that can be performed are: addition, subtraction, multiplication, division, and negation. There are separate entrypoints for each variation of the types: real and complex, binary and decimal. Entry points in generic_math_: (List is generated by the help command) :Entry: negate_decimal: 02/20/85 generic_math_$negate_decimal Function: This entrypoint negates a generic decimal number. Syntax: declare generic_math_$negate_decimal entry(bit(576), bit(576)); call generic_math_$negate_decimal (num1, result); Arguments: num1 is a generic decimal number. (Input) result is the generic decimal value that is the negation of num1. (Output) :Entry: negate_decimal_complex: 02/20/85 generic_math_$negate_decimal_complex Function: This entrypoint negates a generic complex decimal number. Syntax: declare generic_math_$negate_decimal_complex entry(bit(1152), bit(1152)); call generic_math_$negate_decimal_complex (num1, result); Arguments: num1 is a generic complex decimal number. (Input) result is the generic complex decimal value that is the negation of num1. (Output) :Entry: add_decimal: 02/20/85 generic_math_$add_decimal--- Function: This entrypoint adds two generic decimal numbers. Syntax: declare generic_math_$add_decimal entry(bit(576), bit(576), bit(576)); call generic_math_$add_decimal (num1, num2, result); Arguments: num1 is a generic decimal number. (Input) num2 is a generic decimal number. (Input) result is the generic decimal value that is the result of adding num1 and num2. (Output) :Entry: add_decimal_complex: 02/20/85 generic_math_$add_decimal_complex Function: This entrypoint adds two generic complex decimal numbers. Syntax: declare generic_math_$add_decimal_complex entry(bit(1152), bit(1152), bit(1152)); call generic_math_$add_decimal_complex (num1, num2, result); Arguments: num1 is a generic complex decimal number. (Input) num2 is a generic complex decimal number. (Input) result is the generic complex decimal value that is the result of adding num1 and num2. (Output) :Entry: subtract_decimal: 02/20/85 generic_math_$subtract_decimal Function: This entrypoint subtracts two generic decimal numbers. Syntax: declare generic_math_$subtract_decimal entry(bit(576), bit(576), bit(576)); call generic_math_$subtract_decimal (num1, num2, result); Arguments: num1 is a generic decimal number. (Input) num2 is a generic decimal number. (Input) result is the generic decimal value that is the result of subtracting num1 and num2. (Output) :Entry: subtract_decimal_complex: 02/20/85 generic_math_$subtract_decimal_complex Function: This entrypoint subtracts two generic complex decimal numbers. Syntax: declare generic_math_$subtract_decimal_complex entry(bit(1152), bit(1152), bit(1152)); call generic_math_$subtract_decimal_complex (num1, num2, result); Arguments: num1 is a generic complex decimal number. (Input) num2 is a generic complex decimal number. (Input) result is the generic complex decimal value that is the result of subtracting num2 from num1. (Output) :Entry: multiply_decimal: 02/20/85 generic_math_$multiply_decimal Function: This entrypoint multiplies two generic decimal numbers. Syntax: declare generic_math_$multiply_decimal entry(bit(576), bit(576), bit(576)); call generic_math_$multiply_decimal (num1, num2, result); Arguments: num1 is a generic decimal number. (Input) num2 is a generic decimal number. (Input) result is the generic decimal value that is the result of multiplying num1 and num2. (Output) :Entry: multiply_decimal_complex: 02/20/85 generic_math_$multiply_decimal_complex Function: This entrypoint multiplies two generic complex decimal numbers. Syntax: declare generic_math_$multiply_decimal_complex entry(bit(1152), bit(1152), bit(1152)); call generic_math_$multiply_decimal_complex (num1, num2, result); Arguments: num1 is a generic complex decimal number. (Input) num2 is a generic complex decimal number. (Input) result is the generic complex decimal value that is the result of multiplying num1 by num2. (Output) :Entry: divide_decimal: 02/20/85 generic_math_$divide_decimal Function: This entrypoint divides two generic decimal numbers. Syntax: declare generic_math_$divide_decimal entry(bit(576), bit(576), bit(576)); call generic_math_$divide_decimal (num1, num2, result); Arguments: num1 is a generic decimal number. (Input) num2 is a generic decimal number. (Input) result is the generic decimal value that is the result of dividing num1 by num2. (Output) :Entry: divide_decimal_complex: 02/20/85 generic_math_$divide_decimal_complex Function: This entrypoint divides two generic complex decimal numbers. Syntax: declare generic_math_$divide_decimal_complex entry(bit(1152), bit(1152), bit(1152)); call generic_math_$divide_decimal_complex (num1, num2, result); Arguments: num1 is a generic complex decimal number. (Input) num2 is a generic complex decimal number. (Input) result is the generic complex decimal value that is the result of dividing num1 by num2. (Output) :Entry: negate_binary: 02/20/85 generic_math_$negate_binary Function: This entrypoint negates a generic binary number. Syntax: declare generic_math_$negate_binary entry(bit(108), bit(108)); call generic_math_$negate_binary (num1, result); Arguments: num1 is a generic binary number. (Input) result is the generic binary value that is the negation of num1. (Output) :Entry: negate_binary_complex: 02/20/85 generic_math_$negate_binary_complex Function: This entrypoint negates a generic complex binary number. Syntax: declare generic_math_$negate_binary_complex entry(bit(252), bit(252)); call generic_math_$negate_binary_complex (num1, result); Arguments: num1 is a generic complex binary number. (Input) result is the generic complex binary value that is the negation of num1. (Output) :Entry: add_binary: 02/20/85 generic_math_$add_binary Function: This entrypoint adds two generic binary numbers. Syntax: declare generic_math_$add_binary entry(bit(108), bit(108), bit(108)); call generic_math_$add_binary (num1, num2, result); Arguments: num1 is a generic binary number. (Input) num2 is a generic binary number. (Input) result is the generic binary value that is the result of adding num1 and num2. (Output) :Entry: add_binary_complex: 02/20/85 generic_math_$add_binary_complex Function: This entrypoint adds two generic complex binary numbers. Syntax: declare generic_math_$add_binary_complex entry(bit(252), bit(252), bit(252)); call generic_math_$add_binary_complex (num1, num2, result); Arguments: num1 is a generic complex binary number. (Input) num2 is a generic complex binary number. (Input) result is the generic complex binary value that is the result of adding num1 and num2. (Output) :Entry: subtract_binary: 02/20/85 generic_math_$subtract_binary Function: This entrypoint subtracts two generic binary numbers. Syntax: declare generic_math_$subtract_binary entry(bit(108), bit(108), bit(108)); call generic_math_$subtract_binary (num1, num2, result); Arguments: num1 is a generic binary number. (Input) num2 is a generic binary number. (Input) result is the generic binary value that is the result of subtracting num2 from num1. (Output) :Entry: subtract_binary_complex: 02/20/85 generic_math_$subtract_binary_complex Function: This entrypoint subtracts two generic complex binary numbers. Syntax: declare generic_math_$subtract_binary_complex entry(bit(252), bit(252), bit(252)); call generic_math_$subtract_binary_complex (num1, num2, result); Arguments: num1 is a generic complex binary number. (Input) num2 is a generic complex binary number. (Input) result is the generic complex binary value that is the result of subtracting num2 from num1. (Output) :Entry: multiply_binary: 02/20/85 generic_math_$multiply_binary Function: This entrypoint multiplies two generic binary numbers. Syntax: declare generic_math_$multiply_binary entry(bit(108), bit(108), bit(108)); call generic_math_$multiply_binary (num1, num2, result); Arguments: num1 is a generic binary number. (Input) num2 is a generic binary number. (Input) result is the generic binary value that is the result of multiplying num1 by num2. (Output) :Entry: multiply_binary_complex: 02/20/85 generic_math_$multiply_binary_complex Function: This entrypoint multiplies two generic complex binary numbers. Syntax: declare generic_math_$multiply_binary_complex entry(bit(252), bit(252), bit(252)); call generic_math_$multiply_binary_complex (num1, num2, result); Arguments: num1 is a generic complex binary number. (Input) num2 is a generic complex binary number. (Input) result is the generic complex binary value that is the result of multiplying num1 by num2. (Output) :Entry: divide_binary: 02/20/85 generic_math_$divide_binary Function: This entrypoint divides two generic binary numbers. Syntax: declare generic_math_$divide_binary entry(bit(108), bit(108), bit(108)); call generic_math_$divide_binary (num1, num2, result); Arguments: num1 is a generic binary number. (Input) num2 is a generic binary number. (Input) result is the generic binary value that is the result of dividing num1 by num2. (Output) :Entry: divide_binary_complex: 02/20/85 generic_math_$divide_binary_complex Function: This entrypoint divides two generic complex binary numbers. Syntax: declare generic_math_$divide_binary_complex entry(bit(252), bit(252), bit(252)); call generic_math_$divide_binary_complex (num1, num2, result); Arguments: num1 is a generic complex binary number. (Input) num2 is a generic complex binary number. (Input) result is the generic complex binary value that is the result of dividing num1 by num2. (Output) ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved