linearConversion
Jump to navigation
Jump to search
Description
- Description:
- Converts given value from given "from" range to wanted "to" range. If clipping is set to true, the resulting value is guaranteed to be within "to" range no matter what.
Say given range is 0 to 1 and wanted range is 0 to 100 (percent calculation). Given value 0.55 then will be
linearConversion [0,1,0.55,0,100]; //55
but if given value is 1.1
linearConversion [0,1,1.1,0,100,false]; //110
or if clipping is true
linearConversion [0,1,1.1,0,100,true]; //100 - Groups:
- Uncategorised
Syntax
- Syntax:
- linearConversion [minFrom, maxFrom, value, minTo, maxTo, clip]
- Parameters:
- [minFrom, maxFrom, value, minTo, maxTo, clip]: Array
- minFrom: Number - start "from" range
- maxFrom: Number - end "from" range
- value: Number - given value from "from" range
- minTo: Number - start "to" range
- maxTo: Number - end "to" range
- clip (Optional): Boolean - if true, resulting value cannot leave "to" range. Default: false
- Return Value:
- Number - respectful value from "to" range
Examples
- Example 1:
linearConversion [4, 8, 5, 0, 1, false];
- Example 2:
- Calculate days from 1/1/1970:
fnc_daysFromEpoc = { private _year = param [0]; private _days = 0; for "_i" from 1970 to _year - 1 do { _days = _days + round linearConversion [0, 1, dateToNumber [_i, 12, 31, 23, 59], 0, 365, false]; }; _days + linearConversion [0, 1, dateToNumber _this, 0, 365, false]; }; hint str (date call fnc_daysFromEpoc);
Additional Information
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Notes
- Posted on Mar 29, 2014 - 09:39
- ffur2007slx2_5
-
(A3 0.50) It is recommended to use linearConversion instead of BIS_fnc_linearConversion:
linearConversion [0,100,50,0,50,true ]; //same as [[0,100],50,[0,50]] call BIS_fnc_linearConversion
As for clamp, true will disable new value out of its range while false won't:linearConversion [0,100,150,0,50,true ]; //return 50 linearConversion [0,100,150,0,50,false ]; //return 75