/* -- CXB30130.C -- -- Grant of Unlimited Rights -- -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687, -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained -- unlimited rights in the software and documentation contained herein. -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making -- this public release, the Government intends to confer upon all -- recipients unlimited rights equal to those held by the Government. -- These rights include rights to use, duplicate, release or disclose the -- released technical data and computer software in whole or in part, in -- any manner and for any purpose whatsoever, and to have or permit others -- to do so. -- -- DISCLAIMER -- -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A -- PARTICULAR PURPOSE OF SAID MATERIAL. --* -- -- FUNCTION NAME: CXB30130 ("square_it") -- -- FUNCTION DESCRIPTION: -- This C function returns the square of num1 through the function -- name, and returns the square of parameters num2, num3, and num4 -- through the argument list (modifying the objects pointed to by -- the parameters). -- -- INPUTS: -- This function requires that four parameters be passed to it. -- The types of these parameters are, in order: int, pointer to short, -- pointer to float, and pointer to double. -- -- PROCESSING: -- The function will calculate the square of the int parameter (num1), -- and return this value as the function result through the function -- name. The function will also calculate the square of the values -- pointed to by the remaining three parameters (num2, num3, num4), -- and will modify the referenced memory locations to contain the -- squared values. -- -- OUTPUTS: -- The square of num1 is returned through function name. -- Parameters num2-num4 now point to values that are the squared results -- of the originally referenced values (i.e., the original values are -- modified as a result of this function). -- -- CHANGE HISTORY: -- 12 Oct 95 SAIC Initial prerelease version. -- --! */ int CXB30130 (int num1, short* num2, float* num3, double* num4) /* NOTE: The above function definition should be accepted by an ANSI-C */ /* compiler. Older C compilers may reject it; they may, however */ /* accept the following five lines. An implementation may comment */ /* out the above function definition and uncomment the following */ /* one. Otherwise, an implementation must provide the necessary */ /* modifications to this C code to satisfy the function */ /* requirements (see Function Description). */ /* */ /* int CXB30130 (num1, num2, num3, num4) */ /* int num1; */ /* short* num2; */ /* float* num3; */ /* double* num4; */ /* */ { int return_value = 0; return_value = num1 * num1; *num2 = *num2 * *num2; /* Return square of these parameters through */ *num3 = *num3 * *num3; /* the parameter list. */ *num4 = *num4 * *num4; return (return_value); /* Return square of num1 through function name */ }