version 1.3, 2020/02/22 06:23:35 |
version 1.6, 2021/03/11 11:47:25 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2018/builtin/print.c,v 1.2 2018/09/28 08:20:27 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2018/builtin/print.c,v 1.5 2021/03/11 03:41:13 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
Line 164 void Peval_variables_in_quote(NODE arg,QUOTE *rp) |
|
Line 164 void Peval_variables_in_quote(NODE arg,QUOTE *rp) |
|
void fnodetotree(FNODE f,VS vs,LIST *rp) |
void fnodetotree(FNODE f,VS vs,LIST *rp) |
{ |
{ |
LIST a1,a2,a3; |
LIST a1,a2,a3; |
NODE n,t,t0; |
NODE n,t,t0,t1; |
STRING head,op,str; |
STRING head,op,str; |
char *opname; |
char *opname; |
|
|
Line 245 void fnodetotree(FNODE f,VS vs,LIST *rp) |
|
Line 245 void fnodetotree(FNODE f,VS vs,LIST *rp) |
|
n = mknode(3,head,op,a1); |
n = mknode(3,head,op,a1); |
MKLIST(*rp,n); |
MKLIST(*rp,n); |
return; |
return; |
|
default: |
|
return; |
} |
} |
MKSTR(op,opname); break; |
MKSTR(op,opname); break; |
|
|
Line 327 void fnodetotree(FNODE f,VS vs,LIST *rp) |
|
Line 329 void fnodetotree(FNODE f,VS vs,LIST *rp) |
|
MKLIST(*rp,n); |
MKLIST(*rp,n); |
break; |
break; |
|
|
|
/* partial derivative of function */ |
|
case I_PFDERIV: |
|
MKSTR(head,"derivative"); |
|
MKSTR(op,((FUNC)FA0(f))->fullname); |
|
fnodetotree((FNODE)FA1(f),vs,&a1); |
|
fnodetotree((FNODE)FA2(f),vs,&a2); |
|
n = mknode(4,head,op,a1,a2); |
|
MKLIST(*rp,n); |
|
break; |
|
|
case I_STR: |
case I_STR: |
MKSTR(head,"internal"); |
MKSTR(head,"internal"); |
MKSTR(str,FA0(f)); |
MKSTR(str,FA0(f)); |
Line 479 FNODE subst_in_fnode(FNODE f,V v,FNODE g) |
|
Line 491 FNODE subst_in_fnode(FNODE f,V v,FNODE g) |
|
case I_FUNC: |
case I_FUNC: |
a1 = subst_in_fnode((FNODE)FA1(f),v,g); |
a1 = subst_in_fnode((FNODE)FA1(f),v,g); |
return mkfnode(2,f->id,FA0(f),a1); |
return mkfnode(2,f->id,FA0(f),a1); |
|
break; |
|
/* derivative */ |
|
case I_PFDERIV: |
|
a1 = subst_in_fnode((FNODE)FA1(f),v,g); |
|
return mkfnode(3,f->id,FA0(f),a1,FA2(f)); |
break; |
break; |
case I_CAR: case I_CDR: |
case I_CAR: case I_CDR: |
a1 = subst_in_fnode((FNODE)FA0(f),v,g); |
a1 = subst_in_fnode((FNODE)FA0(f),v,g); |