示例#1
0
文件: dobj_menu.c 项目: nasa/QuIP
static COMMAND_FUNC( do_gen_xpose )
{
	Data_Obj *dp;
	int d1,d2;

	dp = pick_obj("");
	d1=(int)how_many("dimension index #1");
	d2=(int)how_many("dimension index #2");

	if( dp == NULL ) return;

	gen_xpose(dp,d1,d2);
}
示例#2
0
void transpose(QSP_ARG_DECL  Data_Obj *dpto,Data_Obj *dpfr)
{
	/* new version using gen_xpose */

	Data_Obj *tmp_dp;
	Vec_Obj_Args oa1, *oap=&oa1;

	// BUG use a macro for this...
	tmp_dp=NEW_DOBJ;

	OBJ_COPY_FROM(tmp_dp,dpfr);
	// after the copy, the shape pointer is the same as the parent's...
	DUP_OBJ_SHAPE(tmp_dp,dpfr);

	gen_xpose(tmp_dp,1,2);		/* switch rows, cols */

	setvarg2(oap,dpto,tmp_dp);
	perf_vfunc(QSP_ARG  FVMOV,oap);

	// tmp_dp has no resources except is shape...
	rls_shape( OBJ_SHAPE(tmp_dp) );
	givbuf(tmp_dp);
}