====== SCALE Box Function ====== **Scale (Linear Interpolation)** Category: [[en-us_products:mpino_studio2:box_functions:arithmetic|Arithmetic Box Functions]] ===== Behavior ===== Linearly maps an integer from an input range to an integer output range. Values outside the input range are limited to the nearest boundary; equal IN_MIN and IN_MAX stores OUT_MIN. ===== Syntax and Arguments ===== **Syntax:** ''SCALE D0 0 1023 R0 0 100'' * 1st = input: address or constant to convert * 2nd = input minimum * 3rd = input maximum * 4th = destination: address that stores the output * 5th = output minimum * 6th = output maximum ===== Behavior Example ===== ^ Run condition ^ Before ^ Command entered ^ Expected result ^ | Left condition ON | D0=1023 | ''SCALE D0 0 1023 R0 0 100'' | R0=100.0 | {{ :en-us_products:mpino_studio2:arithmetic-examples.svg?1000 |Inputs and results for Arithmetic Box Functions }} ===== Cautions ===== * Make sure the result stays within the value range of the destination memory. * If IN_MIN equals IN_MAX, OUT_MIN is stored. Check the minimum and maximum of the input range. ===== Box Functions in the Same Category ===== * [[en-us_products:mpino_studio2:box_functions:arithmetic:add|ADD View details]] — Add * [[en-us_products:mpino_studio2:box_functions:arithmetic:sub|SUB View details]] — Subtract * [[en-us_products:mpino_studio2:box_functions:arithmetic:mul|MUL View details]] — Multiply * [[en-us_products:mpino_studio2:box_functions:arithmetic:div|DIV View details]] — Divide * [[en-us_products:mpino_studio2:box_functions:arithmetic:mod|MOD View details]] — Modulo * [[en-us_products:mpino_studio2:box_functions:arithmetic:inc|INC View details]] — Increment * [[en-us_products:mpino_studio2:box_functions:arithmetic:dec|DEC View details]] — Decrement * [[en-us_products:mpino_studio2:box_functions:arithmetic:floor|FLOOR View details]] — Floor * [[en-us_products:mpino_studio2:box_functions:arithmetic:sqrt|SQRT View details]] — Square Root