The R Project SVN R

Rev

Rev 35450 | Rev 36116 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 35450 Rev 35820
Line 1... Line 1...
1
/*
1
/*
2
 *  R : A Computer Language for Statistical Data Analysis
2
 *  R : A Computer Language for Statistical Data Analysis
3
 *  Copyright (C) 1995, 1996  Robert Gentleman and Ross Ihaka
3
 *  Copyright (C) 1995, 1996  Robert Gentleman and Ross Ihaka
4
 *  Copyright (C) 1997--2001  Robert Gentleman, Ross Ihaka and the
4
 *  Copyright (C) 1997--2005  Robert Gentleman, Ross Ihaka and the
5
 *			      R Development Core Team
5
 *			      R Development Core Team
6
 *  Copyright (C) 2002--2004  The R Foundation
6
 *  Copyright (C) 2002--2004  The R Foundation
7
 *
7
 *
8
 *  This program is free software; you can redistribute it and/or modify
8
 *  This program is free software; you can redistribute it and/or modify
9
 *  it under the terms of the GNU General Public License as published by
9
 *  it under the terms of the GNU General Public License as published by
Line 141... Line 141...
141
    if (isList(s)) {
141
    if (isList(s)) {
142
	while (s != R_NilValue) {
142
	while (s != R_NilValue) {
143
	    if (isList(CAR(s)))
143
	    if (isList(CAR(s)))
144
		ProcessInlinePars(CAR(s), dd, call);
144
		ProcessInlinePars(CAR(s), dd, call);
145
	    else if (TAG(s) != R_NilValue)
145
	    else if (TAG(s) != R_NilValue)
146
	    Specify2(CHAR(PRINTNAME(TAG(s))), CAR(s), dd, call);
146
		Specify2(CHAR(PRINTNAME(TAG(s))), CAR(s), dd, call);
147
	    s = CDR(s);
147
	    s = CDR(s);
148
	}
148
	}
149
    }
149
    }
150
}
150
}
151
 
151
 
Line 1092... Line 1092...
1092
    /* Optional argument: "padj" */
1092
    /* Optional argument: "padj" */
1093
    PROTECT(padj = coerceVector(CAR(args), REALSXP));
1093
    PROTECT(padj = coerceVector(CAR(args), REALSXP));
1094
    npadj = length(padj);
1094
    npadj = length(padj);
1095
    if (npadj <= 0) errorcall(call, _("zero length 'padj' specified"));
1095
    if (npadj <= 0) errorcall(call, _("zero length 'padj' specified"));
1096
 
1096
 
-
 
1097
    /* Now we process all the remaining inline par values:
-
 
1098
       we need to do it now as x/yaxp are retrieved next.
-
 
1099
       That will set Rf_gpptr, so we update that. */
-
 
1100
    GSavePars(dd);
-
 
1101
    Rf_gpptr(dd)->xaxp[0] = Rf_dpptr(dd)->xaxp[0];
-
 
1102
    Rf_gpptr(dd)->xaxp[1] = Rf_dpptr(dd)->xaxp[1];
-
 
1103
    Rf_gpptr(dd)->xaxp[2] = Rf_dpptr(dd)->xaxp[2];
-
 
1104
    Rf_gpptr(dd)->yaxp[0] = Rf_dpptr(dd)->yaxp[0];
-
 
1105
    Rf_gpptr(dd)->yaxp[1] = Rf_dpptr(dd)->yaxp[1];
-
 
1106
    Rf_gpptr(dd)->yaxp[2] = Rf_dpptr(dd)->yaxp[2];
-
 
1107
    ProcessInlinePars(args, dd, call);
-
 
1108
 
1097
    /* Retrieve relevant "par" values. */
1109
    /* Retrieve relevant "par" values. */
1098
 
1110
 
1099
    switch(side) {
1111
    switch(side) {
1100
    case 1:
1112
    case 1:
1101
    case 3:
1113
    case 3:
1102
	axp[0] = Rf_dpptr(dd)->xaxp[0];
1114
	axp[0] = Rf_gpptr(dd)->xaxp[0];
1103
	axp[1] = Rf_dpptr(dd)->xaxp[1];
1115
	axp[1] = Rf_gpptr(dd)->xaxp[1];
1104
	axp[2] = Rf_dpptr(dd)->xaxp[2];
1116
	axp[2] = Rf_gpptr(dd)->xaxp[2];
1105
	usr[0] = Rf_dpptr(dd)->usr[0];
1117
	usr[0] = Rf_dpptr(dd)->usr[0];
1106
	usr[1] = Rf_dpptr(dd)->usr[1];
1118
	usr[1] = Rf_dpptr(dd)->usr[1];
1107
	logflag = Rf_dpptr(dd)->xlog;
1119
	logflag = Rf_dpptr(dd)->xlog;
1108
	nint = Rf_dpptr(dd)->lab[0];
1120
	nint = Rf_dpptr(dd)->lab[0];
1109
	break;
1121
	break;
1110
    case 2:
1122
    case 2:
1111
    case 4:
1123
    case 4:
1112
	axp[0] = Rf_dpptr(dd)->yaxp[0];
1124
	axp[0] = Rf_gpptr(dd)->yaxp[0];
1113
	axp[1] = Rf_dpptr(dd)->yaxp[1];
1125
	axp[1] = Rf_gpptr(dd)->yaxp[1];
1114
	axp[2] = Rf_dpptr(dd)->yaxp[2];
1126
	axp[2] = Rf_gpptr(dd)->yaxp[2];
1115
	usr[0] = Rf_dpptr(dd)->usr[2];
1127
	usr[0] = Rf_dpptr(dd)->usr[2];
1116
	usr[1] = Rf_dpptr(dd)->usr[3];
1128
	usr[1] = Rf_dpptr(dd)->usr[3];
1117
	logflag = Rf_dpptr(dd)->ylog;
1129
	logflag = Rf_dpptr(dd)->ylog;
1118
	nint = Rf_dpptr(dd)->lab[1];
1130
	nint = Rf_dpptr(dd)->lab[1];
1119
	break;
1131
	break;
Line 1162... Line 1174...
1162
    }
1174
    }
1163
    n = ntmp;
1175
    n = ntmp;
1164
    if (n == 0)
1176
    if (n == 0)
1165
	errorcall(call, _("no locations are finite"));
1177
	errorcall(call, _("no locations are finite"));
1166
 
1178
 
1167
    /* Ok, all systems are "GO".  Let's get to it.
1179
    /* Ok, all systems are "GO".  Let's get to it. */
1168
     * First we process all the remaining inline par values */
-
 
1169
    GSavePars(dd);
-
 
1170
    ProcessInlinePars(args, dd, call);
-
 
1171
 
1180
 
1172
    /* At this point we know the value of "xaxt" and "yaxt",
1181
    /* At this point we know the value of "xaxt" and "yaxt",
1173
     * so we test to see whether the relevant one is "n".
1182
     * so we test to see whether the relevant one is "n".
1174
     * If it is, we just bail out at this point. */
1183
     * If it is, we just bail out at this point. */
1175
 
1184