/*
* slidata.h
*
* This file is part of NEST.
*
* Copyright (C) 2004 The NEST Initiative
*
* NEST is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* NEST is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NEST. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef SLIDATA_H
#define SLIDATA_H
/*
SLI's array access functions
*/
#include "slifunction.h"
/*
Operators will be implemented as described in the PS Reference Manual
for the types
array
string
NOTE: dictionary operators are defined in slidict.{h,cc}
*/
class Get_aFunction: public SLIFunction
{
public:
Get_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Get_a_aFunction: public SLIFunction
{
public:
Get_a_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Allocations_aFunction: public SLIFunction
{
public:
Allocations_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Get_pFunction: public SLIFunction
{
public:
Get_pFunction() {}
void execute(SLIInterpreter *) const;
};
class Get_lpFunction: public SLIFunction
{
public:
Get_lpFunction() {}
void execute(SLIInterpreter *) const;
};
class Append_aFunction: public SLIFunction
{
public:
Append_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Append_pFunction: public SLIFunction
{
public:
Append_pFunction() {}
void execute(SLIInterpreter *) const;
};
class Append_sFunction: public SLIFunction
{
public:
Append_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Prepend_aFunction: public SLIFunction
{
public:
Prepend_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Prepend_pFunction: public SLIFunction
{
public:
Prepend_pFunction() {}
void execute(SLIInterpreter *) const;
};
class Prepend_sFunction: public SLIFunction
{
public:
Prepend_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Join_sFunction: public SLIFunction
{
public:
Join_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Join_aFunction: public SLIFunction
{
public:
Join_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Join_pFunction: public SLIFunction
{
public:
Join_pFunction() {}
void execute(SLIInterpreter *) const;
};
class Insert_sFunction: public SLIFunction
{
public:
Insert_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Insert_aFunction: public SLIFunction
{
public:
Insert_aFunction() {}
void execute(SLIInterpreter *) const;
};
class InsertElement_sFunction: public SLIFunction
{
public:
InsertElement_sFunction() {}
void execute(SLIInterpreter *) const;
};
class InsertElement_aFunction: public SLIFunction
{
public:
InsertElement_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Replace_sFunction: public SLIFunction
{
public:
Replace_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Replace_aFunction: public SLIFunction
{
public:
Replace_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Erase_sFunction: public SLIFunction
{
public:
Erase_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Erase_aFunction: public SLIFunction
{
public:
Erase_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Erase_pFunction: public SLIFunction
{
public:
Erase_pFunction() {}
void execute(SLIInterpreter *) const;
};
class Length_sFunction: public SLIFunction
{
public:
Length_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Length_aFunction: public SLIFunction
{
public:
Length_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Length_pFunction: public SLIFunction
{
public:
Length_pFunction() {}
void execute(SLIInterpreter *) const;
};
class Length_lpFunction: public SLIFunction
{
public:
Length_lpFunction() {}
void execute(SLIInterpreter *) const;
};
class Capacity_aFunction: public SLIFunction
{
public:
Capacity_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Size_aFunction: public SLIFunction
{
public:
Size_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Reserve_aFunction: public SLIFunction
{
public:
Reserve_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Resize_aFunction: public SLIFunction
{
public:
Resize_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Empty_aFunction: public SLIFunction
{
public:
Empty_aFunction() {}
void execute(SLIInterpreter *) const;
};
class References_aFunction: public SLIFunction
{
public:
References_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Shrink_aFunction: public SLIFunction
{
public:
Shrink_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Capacity_sFunction: public SLIFunction
{
public:
Capacity_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Size_sFunction: public SLIFunction
{
public:
Size_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Reserve_sFunction: public SLIFunction
{
public:
Reserve_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Resize_sFunction: public SLIFunction
{
public:
Resize_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Empty_sFunction: public SLIFunction
{
public:
Empty_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Getinterval_sFunction: public SLIFunction
{
public:
Getinterval_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Getinterval_aFunction: public SLIFunction
{
public:
Getinterval_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Cvx_aFunction: public SLIFunction
{
public:
Cvx_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Cvlit_nFunction: public SLIFunction
{
public:
Cvlit_nFunction() {}
void execute(SLIInterpreter *) const;
};
class Cvlit_pFunction: public SLIFunction
{
public:
Cvlit_pFunction() {}
void execute(SLIInterpreter *) const;
};
class Cvlp_pFunction: public SLIFunction
{
public:
Cvlp_pFunction() {}
void execute(SLIInterpreter *) const;
};
class RangeIterator_aFunction: public SLIFunction
{
public:
RangeIterator_aFunction() {}
void execute(SLIInterpreter *) const;
};
class IteratorSize_iterFunction: public SLIFunction
{
public:
IteratorSize_iterFunction() {}
void execute(SLIInterpreter *) const;
};
class Cvn_sFunction: public SLIFunction
{
public:
Cvn_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Cvn_lFunction: public SLIFunction
{
public:
Cvn_lFunction() {}
void execute(SLIInterpreter *) const;
};
//--------------------------------------------------------------------------------- <- end of line (C84) is maximum width for LaTeX-include1
/* BeginDocumentation
Name: cvi_s - convert string to integer
Synopsis: string cvi_s -> integer
Description: This is a wrapper to the standard C "atoi"-routine.
If cvi_s is executed with a string that contains letters 0 is returned.
Examples: (23) cvi_s -> 23
(23.5) cvi_s -> 23
(NEST) cvi_s -> 0
Diagnostics: No errors are raised.
In case of impossible conversion, zero is returned.
Bugs: -
Author: R Kupper
FirstVersion: Nov 05 1999
SeeAlso: cvi, cvd, cvs
*/
class Cvi_sFunction: public SLIFunction
{
public:
Cvi_sFunction() {}
void execute(SLIInterpreter *) const;
};
//--------------------------------------------------------------------------------- <- end of line (C84) is maximum width for LaTeX-include1
/* BeginDocumentation
Name: cvd_s - convert string to double
Synopsis: string cvd_s -> double
Description: This is a wrapper to the standard C "atof"-routine.
If cvd_s is executed with a string that contains letters 0 is returned.
Examples: (23.5) cvi_s -> 23.5
(23) cvi_s -> 23 % doubletype!
(NEST) cvi_s -> 0
Diagnostics: No errors are raised.
In case of impossible conversion, zero is returned.
Bugs: -
Author: R Kupper
FirstVersion: Nov 05 1999
SeeAlso: cvi, cvd, cvs
*/
class Cvd_sFunction: public SLIFunction
{
public:
Cvd_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Get_sFunction: public SLIFunction
{
public:
Get_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Put_sFunction: public SLIFunction
{
public:
Put_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Put_aFunction: public SLIFunction
{
public:
Put_aFunction() {}
void execute(SLIInterpreter *) const;
};
class Put_pFunction: public SLIFunction
{
public:
Put_pFunction() {}
void execute(SLIInterpreter *) const;
};
class Put_lpFunction: public SLIFunction
{
public:
Put_lpFunction() {}
void execute(SLIInterpreter *) const;
};
class Search_sFunction: public SLIFunction
{
public:
Search_sFunction() {}
void execute(SLIInterpreter *) const;
};
class Search_aFunction: public SLIFunction
{
public:
Search_aFunction() {}
void execute(SLIInterpreter *) const;
};
// This function is not implemented
// needed to remove it in order to compile NEST
// on PETA project fx machine. 2010-10-28 MH
//class RangeFunction: public SLIFunction
//{
//public:
//RangeFunction() {}
// void execute(SLIInterpreter *) const;
//};
class IrepeatanyFunction: public SLIFunction
{
public:
IrepeatanyFunction() {}
void execute(SLIInterpreter *) const;
};
class RepeatanyFunction: public SLIFunction
{
public:
RepeatanyFunction() {}
void execute(SLIInterpreter *) const;
};
void init_slidata(SLIInterpreter *);
#endif