/[svn]/linuxsampler/trunk/src/scriptvm/common.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/scriptvm/common.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3580 by schoenebeck, Tue Aug 27 21:36:53 2019 UTC revision 3581 by schoenebeck, Fri Aug 30 11:40:25 2019 UTC
# Line 38  namespace LinuxSampler { Line 38  namespace LinuxSampler {
38          return _unitFactor(prefix1) * _unitFactor(prefix2);          return _unitFactor(prefix1) * _unitFactor(prefix2);
39      }      }
40    
41      vmfloat VMUnit::unitFactor() const {      vmfloat VMUnit::unitFactor(const MetricPrefix_t* prefixes, vmuint size) {
42          vmfloat f = 1.f;          vmfloat f = VM_NO_FACTOR;
43          for (vmuint i = 0; unitPrefix(i); ++i)          for (vmuint i = 0; i < size && prefixes[i]; ++i)
44              f *= _unitFactor(unitPrefix(i));              f *= _unitFactor(prefixes[i]);
45          return f;          return f;
46      }      }
47    
48        bool VMUnit::hasUnitFactorNow() const {
49            return unitFactor() != VM_NO_FACTOR;
50        }
51    
52      ///////////////////////////////////////////////////////////////////////      ///////////////////////////////////////////////////////////////////////
53      // class 'VMExpr'      // class 'VMExpr'
54    
# Line 76  namespace LinuxSampler { Line 80  namespace LinuxSampler {
80          );          );
81      }      }
82    
83        VMArrayExpr* VMExpr::asArray() const {
84            return const_cast<VMArrayExpr*>(
85                dynamic_cast<const VMArrayExpr*>(this)
86            );
87        }
88    
89      bool VMExpr::isModifyable() const {      bool VMExpr::isModifyable() const {
90          const VMVariable* var = dynamic_cast<const VMVariable*>(this);          const VMVariable* var = dynamic_cast<const VMVariable*>(this);
91          return (!var) ? false : var->isAssignable();          return (!var) ? false : var->isAssignable();
# Line 93  namespace LinuxSampler { Line 103  namespace LinuxSampler {
103          return false;          return false;
104      }      }
105    
106        void VMFunction::checkArgs(VMFnArgs* args,
107                                   std::function<void(String)> err,
108                                   std::function<void(String)> wrn)
109        {
110        }
111    
112      void VMFunction::wrnMsg(const String& txt) {      void VMFunction::wrnMsg(const String& txt) {
113          std::cout << "[ScriptVM] " << txt << std::endl;          std::cout << "[ScriptVM] " << txt << std::endl;
114      }      }
# Line 102  namespace LinuxSampler { Line 118  namespace LinuxSampler {
118      }      }
119    
120      ///////////////////////////////////////////////////////////////////////      ///////////////////////////////////////////////////////////////////////
121        // class 'VMScalarNumberExpr'
122    
123        vmint VMScalarNumberExpr::evalCastInt() {
124            if (exprType() == INT_EXPR)
125                return asInt()->evalInt();
126            else
127                return vmint( asReal()->evalReal() );
128        }
129    
130        vmfloat VMScalarNumberExpr::evalCastReal() {
131            if (exprType() == REAL_EXPR)
132                return asReal()->evalReal();
133            else
134                return vmfloat( asInt()->evalInt() );
135        }
136    
137        ///////////////////////////////////////////////////////////////////////
138      // class 'VMIntExpr'      // class 'VMIntExpr'
139    
140      vmint VMIntExpr::evalInt(MetricPrefix_t prefix) {      vmint VMIntExpr::evalInt(MetricPrefix_t prefix) {

Legend:
Removed from v.3580  
changed lines
  Added in v.3581

  ViewVC Help
Powered by ViewVC