X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/storin/blobdiff_plain/e6e0e332972586b443c9ae3d031757f6778fd263..da124bf5c7dfcff3bd81bf830521b061d47ceb12:/matrix.c?ds=sidebyside diff --git a/matrix.c b/matrix.c index 88f4cb7..321d9b8 100644 --- a/matrix.c +++ b/matrix.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: matrix.c,v 1.1 2000/05/21 11:28:30 mdw Exp $ + * $Id: matrix.c,v 1.3 2000/08/05 11:27:56 mdw Exp $ * * Matrix arithmetic mod %$2^{24}$% * @@ -30,7 +30,7 @@ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) @@ -49,6 +49,12 @@ /*----- Revision history --------------------------------------------------* * * $Log: matrix.c,v $ + * Revision 1.3 2000/08/05 11:27:56 mdw + * (matinv): Fix type error. + * + * Revision 1.2 2000/07/02 15:22:07 mdw + * Fix licence text. Change to matinv to mark inputs as constants. + * * Revision 1.1 2000/05/21 11:28:30 mdw * Initial check-in. * @@ -99,7 +105,7 @@ void matmul(uint24 *d, const uint24 *a, const uint24 *b, /* --- @matinv@ --- * * * Arguments: @uint24 *d@ = pointer to destination matrix - * @uint24 *a@ = pointer to operand matrix + * @const uint24 *a@ = pointer to operand matrix * @unsigned x, y@ = dimensions of operand matrix * * Returns: Zero if the matrix was successfully inverted, %$-1$% if the @@ -108,11 +114,11 @@ void matmul(uint24 *d, const uint24 *a, const uint24 *b, * Use: Computes the mod %$2^{24}$% inverse of a square matrix. */ -int matinv(uint24 *d, uint24 *a, unsigned x, unsigned y) +int matinv(uint24 *d, const uint24 *a, unsigned x, unsigned y) { unsigned i, j, k; uint24 *aa; - uint32 *p, *q, *r, *s; + uint24 *p, *q, *r, *s; assert(x == y);