The R Project SVN R-packages

Rev

Rev 3755 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3755 Rev 4573
Line 96... Line 96...
96
{
96
{
97
    SEXP val = PROTECT(NEW_OBJECT(MAKE_CLASS((asInteger(kind) == 1) ?
97
    SEXP val = PROTECT(NEW_OBJECT(MAKE_CLASS((asInteger(kind) == 1) ?
98
					     "ngeMatrix" :
98
					     "ngeMatrix" :
99
					     "lgeMatrix")));
99
					     "lgeMatrix")));
100
 
100
 
101
    SET_SLOT(val, Matrix_xSym, duplicate(GET_SLOT(from, Matrix_xSym)));
101
    slot_dup(val, from, Matrix_xSym);
102
    SET_SLOT(val, Matrix_DimSym, duplicate(GET_SLOT(from, Matrix_DimSym)));
102
    slot_dup(val, from, Matrix_DimSym);
103
    SET_SLOT(val, Matrix_DimNamesSym, duplicate(GET_SLOT(from, Matrix_DimNamesSym)));
103
    slot_dup(val, from, Matrix_DimNamesSym);
104
    SET_SLOT(val, Matrix_factorSym, allocVector(VECSXP, 0));
104
    SET_SLOT(val, Matrix_factorSym, allocVector(VECSXP, 0));
105
 
105
 
106
    make_i_matrix_triangular(LOGICAL(GET_SLOT(val, Matrix_xSym)), from);
106
    make_i_matrix_triangular(LOGICAL(GET_SLOT(val, Matrix_xSym)), from);
107
    UNPROTECT(1);
107
    UNPROTECT(1);
108
    return val;
108
    return val;
Line 113... Line 113...
113
{
113
{
114
    SEXP val = PROTECT(NEW_OBJECT(MAKE_CLASS((asInteger(kind) == 1) ?
114
    SEXP val = PROTECT(NEW_OBJECT(MAKE_CLASS((asInteger(kind) == 1) ?
115
					     "ngeMatrix" :
115
					     "ngeMatrix" :
116
					     "lgeMatrix")));
116
					     "lgeMatrix")));
117
 
117
 
118
    SET_SLOT(val, Matrix_xSym, duplicate(GET_SLOT(from, Matrix_xSym)));
118
    slot_dup(val, from, Matrix_xSym);
119
    SET_SLOT(val, Matrix_DimSym, duplicate(GET_SLOT(from, Matrix_DimSym)));
119
    slot_dup(val, from, Matrix_DimSym);
120
    SET_SLOT(val, Matrix_DimNamesSym, duplicate(GET_SLOT(from, Matrix_DimNamesSym)));
120
    slot_dup(val, from, Matrix_DimNamesSym);
121
    SET_SLOT(val, Matrix_factorSym, allocVector(VECSXP, 0));
121
    SET_SLOT(val, Matrix_factorSym, allocVector(VECSXP, 0));
122
 
122
 
123
    make_i_matrix_symmetric(LOGICAL(GET_SLOT(val, Matrix_xSym)), from);
123
    make_i_matrix_symmetric(LOGICAL(GET_SLOT(val, Matrix_xSym)), from);
124
 
124
 
125
    UNPROTECT(1);
125
    UNPROTECT(1);