void _gen_xpose(QSP_ARG_DECL Data_Obj *dp,int dim1,int dim2) { dimension_t tmp_dim; incr_t tmp_inc; assert( dim1 >= 0 && dim1 < N_DIMENSIONS ); assert( dim2 >= 0 && dim2 < N_DIMENSIONS ); EXCHANGE_DIMS(OBJ_TYPE_DIMS(dp),dim1,dim2) EXCHANGE_DIMS(OBJ_MACH_DIMS(dp),dim1,dim2) EXCHANGE_INCS(OBJ_TYPE_INCS(dp),dim1,dim2) EXCHANGE_INCS(OBJ_MACH_INCS(dp),dim1,dim2) /* should this be CAUTIOUS??? */ if( auto_shape_flags(OBJ_SHAPE(dp)) < 0 ) warn("gen_xpose: RATS!?"); check_contiguity(dp); }
static void x_open_movie(QSP_ARG_DECL const char *filename) { /* prepare to play */ /* open file, create data object, read in */ Image_File *ifp; Data_Obj *dp; Movie *mvip; const char *pathname; pathname = movie_pathname(filename); ifp=open_image_file(QSP_ARG pathname,"r"); if( ifp == NO_IMAGE_FILE ) return; if( ram_area_p == NO_AREA ) dataobj_init(SINGLE_QSP_ARG); dp = make_dobj(QSP_ARG filename, OBJ_TYPE_DIMS(ifp->if_dp), OBJ_PREC_PTR(ifp->if_dp)); if( dp == NO_OBJ ) return; read_object_from_file(QSP_ARG dp,ifp); /* should close file automatically!? */ /* make the movie object */ mvip = create_movie(QSP_ARG filename); if( mvip == NO_MOVIE ){ /* BUG free dobj here */ return; } mvip->mvi_flags = 0; mvip->mvi_data = dp; }