Skip to content
Snippets Groups Projects
Commit 8a58a282 authored by Wuttke, Joachim's avatar Wuttke, Joachim Committed by Wuttke, Joachim
Browse files

new node SessionNK

parent 71d3b259
No related branches found
No related tags found
No related merge requests found
...@@ -738,6 +738,16 @@ const RObj CNodeIdxK::tree_val( const CContext& ctx ) const ...@@ -738,6 +738,16 @@ const RObj CNodeIdxK::tree_val( const CContext& ctx ) const
} }
//**************************************************************************************************
//* CNodeSession: session-wide workspace information
//**************************************************************************************************
const RObj CNodeSessionNK::tree_val( const CContext& ctx ) const
{
return RObjInt( new CObjInt( NOlm::mem_size() ) );
}
//************************************************************************************************** //**************************************************************************************************
//* CNodeIva: indexed variable node //* CNodeIva: indexed variable node
//************************************************************************************************** //**************************************************************************************************
...@@ -760,10 +770,6 @@ const RObj CNodeIva::tree_val( const CContext& ctx ) const ...@@ -760,10 +770,6 @@ const RObj CNodeIva::tree_val( const CContext& ctx ) const
if ( !(var->pointwise() || var->slicewise() || var->filewise()) && ref->tk ) if ( !(var->pointwise() || var->slicewise() || var->filewise()) && ref->tk )
throw "reference "+var->var_info()+" does not admit an index"; throw "reference "+var->var_info()+" does not admit an index";
// sessionwide references
if ( var->categ == VCateg::NK )
return RObjInt( new CObjInt( NOlm::mem_size() ) );
// Get k from context: // Get k from context:
int k = ref->get_k( ctx ); int k = ref->get_k( ctx );
......
...@@ -52,6 +52,9 @@ struct xaxtype { ...@@ -52,6 +52,9 @@ struct xaxtype {
RNode node_I( new CNodeIdxI() ); RNode node_I( new CNodeIdxI() );
RNode node_J( new CNodeIdxJ() ); RNode node_J( new CNodeIdxJ() );
RNode node_K( new CNodeIdxK() ); RNode node_K( new CNodeIdxK() );
RNode node_NK( new CNodeSessionNK() );
RNode node_E( new CNodeVal( M_E ) ); RNode node_E( new CNodeVal( M_E ) );
RNode node_PI( new CNodeVal( M_PI ) ); RNode node_PI( new CNodeVal( M_PI ) );
RNode node_INF( new CNodeVal( INFINITY ) ); RNode node_INF( new CNodeVal( INFINITY ) );
...@@ -96,6 +99,10 @@ i { ...@@ -96,6 +99,10 @@ i {
xaxlval->t = node_I; xaxlval->t = node_I;
return VAL; } return VAL; }
nk {
xaxlval->t = node_NK;
return VAL; }
[xy]|dy|n[ijk]|([zpr]{DIG}+)|outcome|chi2|R2 { [xy]|dy|n[ijk]|([zpr]{DIG}+)|outcome|chi2|R2 {
xaxlval->v = PVar( new CVar(xaxtext) ); xaxlval->v = PVar( new CVar(xaxtext) );
return REF; } return REF; }
......
...@@ -74,7 +74,7 @@ int xaxlex(YYSTYPE *xaxlval); // created by lex.l ...@@ -74,7 +74,7 @@ int xaxlex(YYSTYPE *xaxlval); // created by lex.l
%left BOP_PM /* error */ %left BOP_PM /* error */
/* other tokens created by xax_lex.lpp: */ /* other tokens created by xax_lex.lpp: */
%token VAL REF DUMMY CEV FNCT GENI CVIN END CONV PCONV DIRAC IDF %token VAL REF0 REF DUMMY CEV FNCT GENI CVIN END CONV PCONV DIRAC IDF
/* Grammar follows */ /* Grammar follows */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment