Stack High Level Access
[Stack Access]


Functions

int hps_convert (int flag)
 Authorizes automatic conversion DOHXS -> DOINT -> DOREAL while picking a data from the stack.
int hps_pick_int (int level, long long *value)
 Picks a DOINT RPL object from the stack and puts its value into the variable passed as argument.
int hps_pick_uint (int level, unsigned long long *value)
 Picks a DOHXS RPL object from the stack and puts its value into the variable passed as argument.
int hps_pick_real (int level, double *value)
 Picks a DOREAL RPL object from the stack and puts its value into the variable passed as argument.
int hps_pick_complex (int level, complex_t *value)
 Picks a DOCMP RPL object from the stack and puts its value into the variable passed as argument.
int hps_pick_str (int level, char **value)
 Picks a DOCSTR RPL object from the stack and puts its value into the variable passed as argument.
int hps_pick_list (int level, list_t **value)
 Picks a DOLIST RPL object from the stack and puts its value into the variable passed as argument.
int hps_pick_array (int level, array_t **value)
 Picks a DOMATRIX or DOARRY RPL object from the stack and puts its value into the variable passed as argument.
int hps_pick_ident (int level, char **value)
 Picks a DOIDNT RPL object from the stack and puts its value into the variable passed as argument.
int hps_pick_symb (int level, entry_t **value)
 Picks a DOSYMB RPL object from the stack and puts its value into the variable passed as argument.
int hps_pop_int (long long *value)
 Pops an integer from the stack and puts its value into the variable passed as argument.
int hps_pop_uint (unsigned long long *value)
 Pops an unsigned integer from the stack and puts its value into the variable passed as argument.
int hps_pop_real (double *value)
 Pops a real from the stack and puts its value into the variable passed as argument.
int hps_pop_complex (complex_t *value)
 Pops a complex from the stack and puts its value into the variable passed as argument.
int hps_pop_str (char **value)
 Pops a string from the stack and puts its value into the variable passed as argument.
int hps_pop_list (list_t **value)
 Pops a list from the stack and puts its value into the variable passed as argument.
int hps_pop_array (array_t **value)
 Pops an array from the stack and puts its value into the variable passed as argument.
int hps_pop_ident (char **value)
 Pops an ident from the stack and puts its value into the variable passed as argument.
int hps_pop_symb (entry_t **value)
 Pops a symbolic expression from the stack and puts its value into the variable passed as argument.
int hps_push_int (long long value)
 Pushes an integer onto the stack.
int hps_push_uint (unsigned long long value)
 Pushes an unsigned integer onto the stack.
int hps_push_real (double value)
 Pushes a real onto the stack.
int hps_push_complex (complex_t *value)
 Pushes a complex onto the stack.
int hps_push_str (char *value)
 Pushes a string onto the stack.
int hps_push_list (list_t *value)
 Pushes a list onto the stack.
int hps_push_array (array_t *value)
 Pushes an array onto the stack.
int hps_push_ident (char *value)
 Pushes an ident onto the stack.
int hps_push_symb (entry_t *value)
 Pushes a symbolic expression onto the stack.

Function Documentation

int hps_convert int  flag  ) 
 

Authorizes automatic conversion DOHXS -> DOINT -> DOREAL while picking a data from the stack.

This function authorizes the following conversions when an hps_pick_int or hps_pick_real are performed :

  • hps_pick_int : DOHXS (unsigned long long) -> DOINT (long long)
  • hps_pick_real : DOHXS (unsigned long long) -> DOINT (long long) -> DOREAL (double)

Parameters:
flag Flag = 1 if conversion are authorized, 0 otherwise
Returns:
Always HPS_OK

int hps_pick_array int  level,
array_t **  value
 

Picks a DOMATRIX or DOARRY RPL object from the stack and puts its value into the variable passed as argument.

This function checks the type of the RPL object at the asked level against the type passed as argument. The value is read if the type match.

Parameters:
level The stack level from which pick the object
value The pointer to the read value
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_TYPE if the type of the object at this level does not match the parameter, HPS_OK otherwise

int hps_pick_complex int  level,
complex_t value
 

Picks a DOCMP RPL object from the stack and puts its value into the variable passed as argument.

This function checks the type of the RPL object at the asked level against the type passed as argument. The value is read if the type match.

Parameters:
level The stack level from which pick the object
value The pointer to the read value
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_TYPE if the type of the object at this level does not match the parameter, HPS_OK otherwise

int hps_pick_ident int  level,
char **  value
 

Picks a DOIDNT RPL object from the stack and puts its value into the variable passed as argument.

This function checks the type of the RPL object at the asked level against the type passed as argument. The value is read if the type match.

Parameters:
level The stack level from which pick the object
value The pointer to the read value
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_TYPE if the type of the object at this level does not match the parameter, HPS_OK otherwise

int hps_pick_int int  level,
long long *  value
 

Picks a DOINT RPL object from the stack and puts its value into the variable passed as argument.

This function checks the type of the RPL object at the asked level against the type passed as argument. The value is read if the type match, or if the convert flag is set (see hps_convert) and the type is convertable. The authorized conversions are described below : DOHXS (unsigned long long) -> DOINT (long long)

Parameters:
level The stack level from which pick the object
value The pointer to the read value
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_TYPE if the type of the object at this level does not match the parameter, HPS_OK otherwise

int hps_pick_list int  level,
list_t **  value
 

Picks a DOLIST RPL object from the stack and puts its value into the variable passed as argument.

This function checks the type of the RPL object at the asked level against the type passed as argument. The value is read if the type match.

Parameters:
level The stack level from which pick the object
value The pointer to the read value
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_TYPE if the type of the object at this level does not match the parameter, HPS_OK otherwise

int hps_pick_real int  level,
double *  value
 

Picks a DOREAL RPL object from the stack and puts its value into the variable passed as argument.

This function checks the type of the RPL object at the asked level against the type passed as argument. The value is read if the type match, or if the convert flag is set (see hps_convert) and the type is convertable. The authorized conversions are described below : DOHXS (unsigned long long) -> DOINT (long long) -> DOREAL (double)

Parameters:
level The stack level from which pick the object
value The pointer to the read value
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_TYPE if the type of the object at this level does not match the parameter, HPS_OK otherwise

int hps_pick_str int  level,
char **  value
 

Picks a DOCSTR RPL object from the stack and puts its value into the variable passed as argument.

This function checks the type of the RPL object at the asked level against the type passed as argument. The value is read if the type match.

Parameters:
level The stack level from which pick the object
value The pointer to the read value
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_TYPE if the type of the object at this level does not match the parameter, HPS_OK otherwise

int hps_pick_symb int  level,
entry_t **  value
 

Picks a DOSYMB RPL object from the stack and puts its value into the variable passed as argument.

This function checks the type of the RPL object at the asked level against the type passed as argument. The value is read if the type match.

Parameters:
level The stack level from which pick the object
value The pointer to the read value
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_TYPE if the type of the object at this level does not match the parameter, HPS_OK otherwise

int hps_pick_uint int  level,
unsigned long long *  value
 

Picks a DOHXS RPL object from the stack and puts its value into the variable passed as argument.

This function checks the type of the RPL object at the asked level against the type passed as argument. The value is read if the type match.

Parameters:
level The stack level from which pick the object
value The pointer to the read value
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_TYPE if the type of the object at this level does not match the parameter, HPS_OK otherwise

int hps_pop_array array_t **  value  ) 
 

Pops an array from the stack and puts its value into the variable passed as argument.

This function pops the top of the stack, if it is an array, into the variable passed as parameter.

Parameters:
value Pointer to the variable to fill
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_pop_complex complex_t value  ) 
 

Pops a complex from the stack and puts its value into the variable passed as argument.

This function pops the top of the stack, if it is a complex, into the variable passed as parameter.

Parameters:
value Pointer to the variable to fill
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_pop_ident char **  value  ) 
 

Pops an ident from the stack and puts its value into the variable passed as argument.

This function pops the top of the stack, if it is an ident, into the variable passed as parameter.

Parameters:
value Pointer to the variable to fill
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_pop_int long long *  value  ) 
 

Pops an integer from the stack and puts its value into the variable passed as argument.

This function pops the top of the stack, if it is an integer, into the variable passed as parameter.

Parameters:
value Pointer to the variable to fill
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_pop_list list_t **  value  ) 
 

Pops a list from the stack and puts its value into the variable passed as argument.

This function pops the top of the stack, if it is a list, into the variable passed as parameter.

Parameters:
value Pointer to the variable to fill
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_pop_real double *  value  ) 
 

Pops a real from the stack and puts its value into the variable passed as argument.

This function pops the top of the stack, if it is a real, into the variable passed as parameter.

Parameters:
value Pointer to the variable to fill
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_pop_str char **  value  ) 
 

Pops a string from the stack and puts its value into the variable passed as argument.

This function pops the top of the stack, if it is a string, into the variable passed as parameter.

Parameters:
value Pointer to the variable to fill
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_pop_symb entry_t **  value  ) 
 

Pops a symbolic expression from the stack and puts its value into the variable passed as argument.

This function pops the top of the stack, if it is a symbolic expression, into the variable passed as parameter.

Parameters:
value Pointer to the variable to fill
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_pop_uint unsigned long long *  value  ) 
 

Pops an unsigned integer from the stack and puts its value into the variable passed as argument.

This function pops the top of the stack, if it is an unsigned integer, into the variable passed as parameter.

Parameters:
value Pointer to the variable to fill
Returns:
HPS_ERROR_STACK if the stack is too small, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_push_array array_t value  ) 
 

Pushes an array onto the stack.

This function pushes a DOMATRIX RPL object, built from the array value passed as parameter, onto the stack.

Parameters:
value The array value to push
Returns:
HPS_ERROR_SAT_MEMORY if not enough room to allocate the RPL object, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_push_complex complex_t value  ) 
 

Pushes a complex onto the stack.

This function pushes a DOCMP RPL object, built from the complex value passed as parameter, onto the stack.

Parameters:
value The pointer to the complex value to push
Returns:
HPS_ERROR_SAT_MEMORY if not enough room to allocate the RPL object, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_push_ident char *  value  ) 
 

Pushes an ident onto the stack.

This function pushes a DOIDNT RPL object, built from the string passed as parameter, onto the stack.

Parameters:
value The ident value to push
Returns:
HPS_ERROR_SAT_MEMORY if not enough room to allocate the RPL object, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_push_int long long  value  ) 
 

Pushes an integer onto the stack.

This function pushes a DOINT RPL object, built from the integer value passed as parameter, onto the stack.

Parameters:
value The integer value to push
Returns:
HPS_ERROR_SAT_MEMORY if not enough room to allocate the RPL object, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_push_list list_t value  ) 
 

Pushes a list onto the stack.

This function pushes a DOLIST RPL object, built from the list value passed as parameter, onto the stack.

Parameters:
value The list value to push
Returns:
HPS_ERROR_SAT_MEMORY if not enough room to allocate the RPL object, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_push_real double  value  ) 
 

Pushes a real onto the stack.

This function pushes a DOREAL RPL object, built from the real value passed as parameter, onto the stack.

Parameters:
value The real value to push
Returns:
HPS_ERROR_SAT_MEMORY if not enough room to allocate the RPL object, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_push_str char *  value  ) 
 

Pushes a string onto the stack.

This function pushes a DOCSTR RPL object, built from the string value passed as parameter, onto the stack.

Parameters:
value The string value to push
Returns:
HPS_ERROR_SAT_MEMORY if not enough room to allocate the RPL object, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_push_symb entry_t *  value  ) 
 

Pushes a symbolic expression onto the stack.

This function pushes a DOSYMB RPL object, built from the data passed as parameter, onto the stack.

Parameters:
value The expression to push
Returns:
HPS_ERROR_SAT_MEMORY if not enough room to allocate the RPL object, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise

int hps_push_uint unsigned long long  value  ) 
 

Pushes an unsigned integer onto the stack.

This function pushes a DOHXS RPL object, built from the unsigned integer value passed as parameter, onto the stack.

Parameters:
value The unsigned integer value to push
Returns:
HPS_ERROR_SAT_MEMORY if not enough room to allocate the RPL object, HPS_ERROR_NOT_IMPLEMENTED if the object type is not addressed by HPStack, HPS_OK otherwise


Generated on Sat Sep 16 18:23:57 2006 for HPStack by  doxygen 1.4.5