Ignore:
Timestamp:
Oct 19, 2008, 5:56:30 PM (18 years ago)
Author:
Jorge Pérez <josp.jorge@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
ce06505
Parents:
6d7779d
Message:

merging from NameBlock/VMatrix branch

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@4 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • toltcl/generic/toltableset.cpp

    r6d7779d rc14b554  
    33                    GNU/tolTcl Library
    44
    5    Copyright (C) 2001, 2002, 2003 - Bayes Decisión, SL
     5   Copyright (C) 2001, 2002, 2003 - Bayes Decisión, SL
    66
    77   This program is free software; you can redistribute it and/or modify
    … …  
    3737#include <tol/tol_bdatgra.h>
    3838#include <tol/tol_bmatgra.h>
     39#include <tol/tol_bvmatgra.h>
    3940#include <tol/tol_bsetgra.h>
    4041#include <tol/tol_btxtgra.h>
    … …  
    161162    return interp;
    162163  }
    163 
    164164  int GetRows() {
    165165    return rows;
    … …  
    258258class Tol_TableMatrix : public Tol_Table {
    259259public:
    260   Tol_TableMatrix(Tcl_Interp * _interp, char * matname, BMat * mat,
     260  Tol_TableMatrix(Tcl_Interp * _interp, char * matname, BMatrix<double> *mat,
    261261                  Tcl_Obj * obj_result);
    262262protected:
    263   int Build(BMat * mat, Tcl_Obj * obj_result); 
     263  int Build(BMatrix<double> *mat, Tcl_Obj * obj_result); 
    264264};
    265265
    … …  
    15991599 */
    16001600
    1601 Tol_TableMatrix::Tol_TableMatrix(Tcl_Interp * _interp, char * matname, BMat * mat,
     1601Tol_TableMatrix::Tol_TableMatrix(Tcl_Interp * _interp, char * matname, BMatrix<double> *mat,
    16021602                                 Tcl_Obj * obj_result)
    16031603  : Tol_Table(_interp, matname)
    … …  
    16121612 */
    16131613
    1614 int Tol_TableMatrix::Build(BMat * mat, Tcl_Obj * obj_result)
     1614int Tol_TableMatrix::Build(BMatrix<double> *mat, Tcl_Obj * obj_result)
    16151615{
    16161616  Tol_ColumnData * ptrCol;
    … …  
    16321632        Tcl_IncrRefCount(rowsNames[row]=Tcl_NewStringObj(buffer, -1));
    16331633      }
    1634       ptrCol->AppendBDat(interp,(*mat)(row,col));
     1634      BDat dat((*mat)(row,col));
     1635      ptrCol->AppendBDat(interp, dat);
    16351636    }
    16361637  }
    … …  
    16731674
    16741675  // syn = Tol_GetObjFromReference( interp, GraSet(), setref, obj_result );
    1675   if (!(syn=Tol_ResolveObject(interp, objref, ismat?GraMatrix():GraSet()))) {
    1676     Tcl_AppendObjToObj(obj_result,Tcl_GetObjResult(interp));   
     1676  if (!(syn=Tol_ResolveObject(interp, objref, obj_result))) {
    16771677    return TCL_ERROR;
    16781678  }
    … …  
    16831683  Tol_Table * ptrTable;
    16841684  if (ismat) {
    1685     BMat * ptrMat = &(((BUserMat*)syn)->Contens());
     1685    BMatrix<double> vmat;
     1686    BMatrix<double> &theMat = vmat;
     1687    if (syn->Grammar()==GraVMatrix()) {
     1688      BVMat &V = VMat((BSyntaxObject *)syn);
     1689      V.GetDMat(vmat);
     1690    } else if (syn->Grammar()==GraMatrix()) {
     1691      theMat = ((DMat&)Mat((BSyntaxObject *)syn));
     1692    } else { 
     1693      Tcl_AppendStringsToObj( obj_result, Tcl_GetString(objref),
     1694                              " is not a valid Matrix|VMatrix object", NULL );   
     1695      return TCL_ERROR;
     1696    }
     1697   
    16861698    ptrTable = new Tol_TableMatrix( interp, objname.Buffer(),
    1687                                     ptrMat, obj_result );
    1688   } else {
    1689     BSet * ptrSet = &(((BUserSet*)syn)->Contens());
     1699                                    &theMat, obj_result );
     1700  } else if ( syn->Grammar()==GraSet() ) {
     1701   
     1702    BSet *ptrSet = &(Set((BSyntaxObject*)syn));
    16901703    ptrTable = new Tol_TableSet( interp, objname.Buffer(),
    16911704                                 ptrSet, obj_result );
     1705  } else { 
     1706    Tcl_AppendStringsToObj( obj_result, Tcl_GetString(objref),
     1707                            " is not a valid Set object", NULL );   
     1708    return TCL_ERROR;
    16921709  }
    16931710  if ( ptrTable->CmdStatus() != TCL_OK ) {
    … …  
    16961713  }
    16971714  ptrTable->CreateCommand(tblname);
     1715 
    16981716  return TCL_OK;
    16991717}
Note: See TracChangeset for help on using the changeset viewer.