Math Combinator


A new combinator for math instructions like maximum, minimum, random, median and set theory like intersection and difference.

Utilities
2 years ago
0.14 - 1.1
1.45K
Owner:
Cobaltur
Source:
N/A
Homepage:
N/A
License:
MIT
Created:
8 years ago
Latest Version:
1.1.4 (2 years ago)
Factorio version:
0.14 - 1.1
Downloaded by:
1.45K users

The mod adds a new combinator for * math instructions e.g. maximum, minimum, random and * signal sets operations e.g. difference & intersection.

Types:

  • Math.max - returns the first signal with the highest count.
  • Math.min - returns the first signal with the lowest count.
  • Math.rand - returns randomly one of the signals
  • Math.median - return the median value on virtual signal M
  • Math.average - return the average value on virtual signal A
  • Math.count - return the number of signals on virtual signal N
  • Math.sum - return the sum of all signal values on virtual signal S
  • Set.difference : symetric difference, signals which are in red AND green will be filtered
  • Set.intersection: result set contain signals which are on red AND green circuit - values are added.
  • Set.filter: filter the red circuit with the green circuit as reference. Only the values of red circuit will be written. E.g. Program loaders for a dynamic list of signals like in Space Exploration

Notes:
For math operation red circuit is preferred. Green is only used if red is not connected to the pole.
Keep in mind signals with value=0 are not on the circuit - therefore not part of the array - so average and median may have not the expected results.
If you need all signals on a tie. Use the value within a combinator and its EACH function

Interval:

By default every 60 ticks (once per second). Can be changed in mod settings. Maybe updating the "Random" operation might be splitted in the future. But at the moment most people don't need a short latency by default.

Placement:

It's recommend to place the combinator next to electric poles.
It must be really close and the direction is important. Antenna away from the pole.

For history reason the placement adjacent to decider- or arithmetic combinator is alos supported. But the setup has its traps. So these vanilla combinators do not output values until the are connected to something else. So the Math Combinator would not get any input.

blueprint sample for 0.17.7 (retested in 1.1.0)

0eNrVWG2OmzAQvYt/QxUDIYEb7K89QLVCBpzsSGAjY6KNVhygt+jZepLaTprQBG/MhvTjTxTAHs9743l+8I7yqqONACZR+o6g4KxF6dd31MKWkUrfk/uGohSBpDXyECO1vqqJfPVJVT2xZ0ZR7yFgJX1DKe69m3PbLm8lkcDZYGLQv3iIMgkS6CEDc7HPWFfnVKjIY/M91PAWzF+1mgrjh1+WHtof/qjoCg+jhR7Q6hFY/whaDhcAdbVWI0EUHUhzqZLpe43kIofAgv8qjfCYg8qgBHFIAKWxyUcKXmU5fSU74EKP30AlqXCiveIFr7mEneG84J0um48XA/5f1ANJtgauzvK50emC4noEUHgmtVZofFqpXAUUfsOrEVjRGZYjsYmFyei0sN5xkjDpK2Q5MCIVKddlXZuVF7/zGdzNpxSEtQ0X0s9pJQec4kk7ekNa6TvEChxi0bdG0LZ1CReaYjtWAi8tpVi6bmo/PhXhTtqBtVSowQNU4R0ScgyxfCzPV01Vwma0qWJXQvGhnfD9hOawvejdM474ljgoAspRICtXIIux7oz/LqqavI2CWp/Cl7SAkooPhQcfjxM3bMeImXpWwqkjNyBamV1h3YGQnbpz3tRmhE9J8XoAehBGQ6/KsSHC5JiiH9++q1m8k033qbjNPjMsZhvB6wyYCoNSKTraW+RkKyhlY9LuocAmNxa1SaYJfzSX5Myk9G5b0kV/bh7lk9Q9HFBt6MeXNxJtsEYLeWF+bJXTqbnJwWo2XZvb72D8QSWvcMS/mn+KlbQ5HuxsHh/kdR6ipjj8lJEL/piRW01q7w+NSXC3EzzTvL7f5CRWfRjtcqv/w9FEA3hRvOhxxVvP6MJXw1fNsS2uX4FH+RkYZFpCV9+SjSNN2F0zIqs249BWtYkuE89dtNmleTXteAn+FUBW+4zX0z4XRP+Ff8bJxHaITuAmnaCqIwyadPCFykM7Bd2EXoULnETJIlzEff8ToXxTRg==

blueprint sample 0.17.4 to test migration

0eNrNWG2OmzAQvYt/Q4WBQMJVqhUyMMmOBDYyJtpoxQF6i56tJ6mBFGgSEpOPbv9EmJjxmzczj5d8kiSvoZTIFYk+CaaCVyT6/kkq3HGWt/fUoQQSEVRQEItwVrQrtt/ZqSgS5EwJSRqLIM/gg0S0ebMIcIUKoY/ULQ4xr4sEpN4wxKjqpFJMoeA6bikq7C71iTqM7X1bWeTQX+joGheHtN1QtTto+yEhmx6AehXonSjTGlW3dJu3pmmsMwzugKFAPs3jDId3BKEhZCh7BP0xgisp8jiBd7ZH/ajev8VcgTTiLxf6VKFwD6TLrm75t6kz5fEScm9kr2B5bkOuMUlM7VLkcA7fH+EbMriZocwfDm5bRDGurvJmr7uTnb95cx/mTUnGq1JIZSeQqwl3dMKcdTPMllXKNojlGsSCj1JCVZmE8zS5xpWgq5lSrIajM9xer0IwVOFB3pFXIPXmSVreIsYnwz6GWL2S6AvMBSNzkGIG8ip79ChBjtHwHyPG+rsMh+JuUVYqPktsj1LV+s5IT7fDBpa+9wn1M6YPbxdFyWSHMSK/fvzUT4lalfVdcctD3LEVb6UoYuQ6DImUrKGZ6cydBOCXVMIi7lznzjRuOMDSFcyuc98LF22+TGnX4zuCfVzF6izokgXAE9ydyPuIP7iFfrNMrv1n6cST9NksdxPRuFn+RZrsTajuOt05vbFp/c/FmTnxJnND0kKbZeGscMEfjVrikube8ZQa+6Lwy+eTusYD+iIv8tCAUu8uQ+X+M0MVLhrYq/7AfdiRjXSuH/cam9mJvzi3sz6M+pP0lYkRO6me/7rqrZ9oh8NJIS/38uhIC8iwLm6p1pEOai5Z/qysUm+uPIGxmtEBzlOrc7e0LTBK4Wsa6zFtM/dO/e9r/7/yTnSzsJ39IYlFL2Dd0R3qaPIfjEX2OsUudOg5dL0JAoeGTfMbc5D6ag==