Example #1
0
   void interpret(Context *context)
   {
      if (context->Input.length() == 0)
      {
         return;
      }

      if (context->InputStrStartsWith(Nine()))
      {
         context->Output  += (9 * Multiplier());
         context->Input  = context->Input.substr(2);
      }
      else if (context->InputStrStartsWith(Four()))
      {
         context->Output += (4 * Multiplier());
         context->Input = context->Input.substr(2);
      }
      else if (context->InputStrStartsWith(Five()))
      {
         context->Output += (5 * Multiplier());
         context->Input = context->Input.substr(1);
      }

      while (context->InputStrStartsWith(One()))
      {
          context->Output += (1 * Multiplier());
          context->Input   = context->Input.substr(1);
      }
   }
Example #2
0
Multiplier current_radiation()
{
	std::ifstream fin("sensors/26.1C40B6000000/vis");
	double r;
	fin >> r;
	return Multiplier(r*1000.0);
}
Example #3
0
int main(int argc, char *argv[], char *env[])
{
    int Nbre1 = 3;
    int Nbre2 = 2;
    printf("%d + %d = %d\n", Nbre1, Nbre2, Additionner(Nbre1, Nbre2));
    printf("%d - %d = %d\n", Nbre1, Nbre2, Soustraire(Nbre1, Nbre2));
    printf("%d * %d = %d\n", Nbre1, Nbre2, Multiplier(Nbre1, Nbre2));
    printf("%d / %d = %d\n", Nbre1, Nbre2, Diviser(Nbre1, Nbre2));
    printf("%d %% %d = %d\n", Nbre1, Nbre2, Modulo(Nbre1, Nbre2));
    printf("%d ^ 2 = %d\n", Nbre1, Carre(Nbre1));
}
Example #4
0
static  void    VariableDims( sym_id arr ) {
//==========================================

// Subscript an array that has a variable array declarator.

    act_dim_list        *dim_ptr;
    int                 dims_no;
    int                 ss_offset;
    cg_name             offset;
    cg_name             c_offset;

    dim_ptr = arr->u.ns.si.va.u.dim_ext;
    dims_no = _DimCount( dim_ptr->dim_flags );
    offset = CGInteger( 0, TY_INT_4 );
    c_offset = CGInteger( 0, TY_INT_4 );
    ss_offset = 0;
    while( ss_offset < dims_no ) {

        // offset += ( ss - lo ) * multiplier;
        //              or
        // offset   += ss*multiplier
        // c_offset -= lo*multiplier

        offset = CGBinary( O_PLUS,
                           offset,
                           CGBinary( O_TIMES,
                                     GetTypedValue(),
                                     Multiplier( arr, ss_offset ),
                                     TY_INT_4 ),
                           TY_INT_4 );
        c_offset = CGBinary( O_MINUS,
                             c_offset,
                             CGBinary( O_TIMES,
                                       LoBound( arr, ss_offset ),
                                       Multiplier( arr, ss_offset ),
                                       TY_INT_4 ),
                             TY_INT_4 );
        ss_offset++;
    }
    Index( arr, CGBinary( O_PLUS, c_offset, offset, TY_INT_4 ) );
}
Example #5
0
cg_name ArrayNumElts( sym_id arr ) {
//==================================

// Get number of elements in an array.

    cg_name             num_elts;
    act_dim_list        *dim;

    dim = arr->u.ns.si.va.u.dim_ext;
    if( _AdvRequired( dim ) ) {
        num_elts = Multiplier( arr, _DimCount( dim->dim_flags ) );
    } else {
        num_elts = CGInteger( dim->num_elts, TY_INT_4 );
    }
    return( num_elts );
}