142 |
return successResult( args->arg(0)->asIntArray()->arraySize() ); |
return successResult( args->arg(0)->asIntArray()->arraySize() ); |
143 |
} |
} |
144 |
|
|
145 |
|
/////////////////////////////////////////////////////////////////////////// |
146 |
|
// built-in script function: inc() |
147 |
|
|
148 |
|
VMFnResult* CoreVMFunction_inc::exec(VMFnArgs* args) { |
149 |
|
VMExpr* arg = args->arg(0); |
150 |
|
VMIntExpr* in = dynamic_cast<VMIntExpr*>(arg); |
151 |
|
VMVariable* out = dynamic_cast<VMVariable*>(arg); |
152 |
|
if (!in || !out) successResult(0); |
153 |
|
int i = in->evalInt() + 1; |
154 |
|
IntLiteral tmp(i); |
155 |
|
out->assignExpr(&tmp); |
156 |
|
return successResult(i); |
157 |
|
} |
158 |
|
|
159 |
|
/////////////////////////////////////////////////////////////////////////// |
160 |
|
// built-in script function: dec() |
161 |
|
|
162 |
|
VMFnResult* CoreVMFunction_dec::exec(VMFnArgs* args) { |
163 |
|
VMExpr* arg = args->arg(0); |
164 |
|
VMIntExpr* in = dynamic_cast<VMIntExpr*>(arg); |
165 |
|
VMVariable* out = dynamic_cast<VMVariable*>(arg); |
166 |
|
if (!in || !out) successResult(0); |
167 |
|
int i = in->evalInt() - 1; |
168 |
|
IntLiteral tmp(i); |
169 |
|
out->assignExpr(&tmp); |
170 |
|
return successResult(i); |
171 |
|
} |
172 |
|
|
173 |
|
/////////////////////////////////////////////////////////////////////////// |
174 |
|
// built-in script function: sh_left() |
175 |
|
|
176 |
|
VMFnResult* CoreVMFunction_sh_left::exec(VMFnArgs* args) { |
177 |
|
int i = args->arg(0)->asInt()->evalInt(); |
178 |
|
int n = args->arg(1)->asInt()->evalInt(); |
179 |
|
return successResult(i << n); |
180 |
|
} |
181 |
|
|
182 |
|
/////////////////////////////////////////////////////////////////////////// |
183 |
|
// built-in script function: sh_right() |
184 |
|
|
185 |
|
VMFnResult* CoreVMFunction_sh_right::exec(VMFnArgs* args) { |
186 |
|
int i = args->arg(0)->asInt()->evalInt(); |
187 |
|
int n = args->arg(1)->asInt()->evalInt(); |
188 |
|
return successResult(i >> n); |
189 |
|
} |
190 |
|
|
191 |
} // namespace LinuxSampler |
} // namespace LinuxSampler |