Ignore:
Timestamp:
08/03/16 20:55:13 (9 years ago)
Author:
epyon
Message:
  • lua_math fixes
  • flags part of model definition
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lua/lua_math.cc

    r503 r512  
    154154int nlua_vec_add( lua_State* L )
    155155{
     156        T v;
    156157        if ( lua_type( L, 1 ) == LUA_TNUMBER )
    157                 push_vec<T>( L, static_cast<typename T::value_type>(lua_tonumber( L, 1 )) + to_vec<T>( L, 2 ) );
     158                v = static_cast<typename T::value_type>(lua_tonumber( L, 1 )) + to_vec<T>( L, 2 );
    158159        else
    159160                if ( lua_type( L, 2 ) == LUA_TNUMBER )
    160                         push_vec<T>( L, to_vec<T>( L, 1 ) + static_cast<typename T::value_type>(lua_tonumber( L, 2 )) );
    161                 else
    162                         push_vec<T>( L, to_vec<T>( L, 1 ) + to_vec<T>( L, 2 ) );
     161                        v = to_vec<T>( L, 1 ) + static_cast<typename T::value_type>( lua_tonumber( L, 2 ) );
     162                else
     163                        v = to_vec<T>( L, 1 ) + to_vec<T>( L, 2 );
     164        push_vec<T>( L, v );
    163165        return 1;
    164166}
     
    167169int nlua_vec_sub( lua_State* L )
    168170{
     171        T v;
    169172        if ( lua_type( L, 1 ) == LUA_TNUMBER )
    170                 push_vec<T>( L, static_cast<typename T::value_type>(lua_tonumber( L, 1 )) - to_vec<T>( L, 2 ) );
     173                v = static_cast<typename T::value_type>(lua_tonumber( L, 1 )) - to_vec<T>( L, 2 );
    171174        else
    172175                if ( lua_type( L, 2 ) == LUA_TNUMBER )
    173                         push_vec<T>( L, to_vec<T>( L, 1 ) - static_cast<typename T::value_type>(lua_tonumber( L, 2 )) );
    174                 else
    175                         push_vec<T>( L, to_vec<T>( L, 1 ) - to_vec<T>( L, 2 ) );
     176                        v = to_vec<T>( L, 1 ) - static_cast<typename T::value_type>(lua_tonumber( L, 2 ) );
     177                else
     178                        v = to_vec<T>( L, 1 ) - to_vec<T>( L, 2 );
     179        push_vec<T>( L, v );
    176180        return 1;
    177181}
     
    180184int nlua_vec_mul( lua_State* L )
    181185{
     186        T v;
    182187        if ( lua_type( L, 1 ) == LUA_TNUMBER )
    183                 push_vec<T>( L, static_cast<typename T::value_type>(lua_tonumber( L, 1 )) * to_vec<T>( L, 2 ) );
     188                v = static_cast<typename T::value_type>(lua_tonumber( L, 1 )) * to_vec<T>( L, 2 );
    184189        else
    185190                if ( lua_type( L, 2 ) == LUA_TNUMBER )
    186                         push_vec<T>( L, to_vec<T>( L, 1 ) * static_cast<typename T::value_type>(lua_tonumber( L, 2 )) );
    187                 else
    188                         push_vec<T>( L, to_vec<T>( L, 1 ) * to_vec<T>( L, 2 ) );
     191                        v = to_vec<T>( L, 1 ) * static_cast<typename T::value_type>(lua_tonumber( L, 2 ));
     192                else
     193                        v = to_vec<T>( L, 1 ) * to_vec<T>( L, 2 );
     194        push_vec<T>( L, v );
    189195        return 1;
    190196}
     
    193199int nlua_vec_div( lua_State* L )
    194200{
     201        T v;
    195202        if ( lua_type( L, 1 ) == LUA_TNUMBER )
    196                 push_vec<T>( L, static_cast<typename T::value_type>(lua_tonumber( L, 1 )) / to_vec<T>( L, 2 ) );
     203                v = static_cast<typename T::value_type>(lua_tonumber( L, 1 )) / to_vec<T>( L, 2 );
    197204        else
    198205                if ( lua_type( L, 2 ) == LUA_TNUMBER )
    199                         push_vec<T>( L, to_vec<T>( L, 1 ) / static_cast<typename T::value_type>(lua_tonumber( L, 2 )) );
    200                 else
    201                         push_vec<T>( L, to_vec<T>( L, 1 ) / to_vec<T>( L, 2 ) );
     206                        v = to_vec<T>( L, 1 ) / static_cast<typename T::value_type>(lua_tonumber( L, 2 ));
     207                else
     208                        v = to_vec<T>( L, 1 ) / to_vec<T>( L, 2 );
     209        push_vec<T>( L, v );
    202210        return 1;
    203211}
Note: See TracChangeset for help on using the changeset viewer.