Mercurial > hg > CbC > CbC_gcc
comparison gcc/lambda-trans.c @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | 77e2b8dfacca |
children |
comparison
equal
deleted
inserted
replaced
56:3c8a44c06a95 | 63:b7f97abdc517 |
---|---|
29 #include "lambda.h" | 29 #include "lambda.h" |
30 | 30 |
31 /* Allocate a new transformation matrix. */ | 31 /* Allocate a new transformation matrix. */ |
32 | 32 |
33 lambda_trans_matrix | 33 lambda_trans_matrix |
34 lambda_trans_matrix_new (int colsize, int rowsize) | 34 lambda_trans_matrix_new (int colsize, int rowsize, |
35 struct obstack * lambda_obstack) | |
35 { | 36 { |
36 lambda_trans_matrix ret; | 37 lambda_trans_matrix ret; |
37 | 38 |
38 ret = GGC_NEW (struct lambda_trans_matrix_s); | 39 ret = (lambda_trans_matrix) |
39 LTM_MATRIX (ret) = lambda_matrix_new (rowsize, colsize); | 40 obstack_alloc (lambda_obstack, sizeof (struct lambda_trans_matrix_s)); |
41 LTM_MATRIX (ret) = lambda_matrix_new (rowsize, colsize, lambda_obstack); | |
40 LTM_ROWSIZE (ret) = rowsize; | 42 LTM_ROWSIZE (ret) = rowsize; |
41 LTM_COLSIZE (ret) = colsize; | 43 LTM_COLSIZE (ret) = colsize; |
42 LTM_DENOMINATOR (ret) = 1; | 44 LTM_DENOMINATOR (ret) = 1; |
43 return ret; | 45 return ret; |
44 } | 46 } |
55 | 57 |
56 | 58 |
57 /* Compute the inverse of the transformation matrix MAT. */ | 59 /* Compute the inverse of the transformation matrix MAT. */ |
58 | 60 |
59 lambda_trans_matrix | 61 lambda_trans_matrix |
60 lambda_trans_matrix_inverse (lambda_trans_matrix mat) | 62 lambda_trans_matrix_inverse (lambda_trans_matrix mat, |
63 struct obstack * lambda_obstack) | |
61 { | 64 { |
62 lambda_trans_matrix inverse; | 65 lambda_trans_matrix inverse; |
63 int determinant; | 66 int determinant; |
64 | 67 |
65 inverse = lambda_trans_matrix_new (LTM_ROWSIZE (mat), LTM_COLSIZE (mat)); | 68 inverse = lambda_trans_matrix_new (LTM_ROWSIZE (mat), LTM_COLSIZE (mat), |
69 lambda_obstack); | |
66 determinant = lambda_matrix_inverse (LTM_MATRIX (mat), LTM_MATRIX (inverse), | 70 determinant = lambda_matrix_inverse (LTM_MATRIX (mat), LTM_MATRIX (inverse), |
67 LTM_ROWSIZE (mat)); | 71 LTM_ROWSIZE (mat), lambda_obstack); |
68 LTM_DENOMINATOR (inverse) = determinant; | 72 LTM_DENOMINATOR (inverse) = determinant; |
69 return inverse; | 73 return inverse; |
70 } | 74 } |
71 | 75 |
72 | 76 |