From c32e18ae8b2b4ba2e4eb73a379c2b80762ef34f7 Mon Sep 17 00:00:00 2001 From: Neerti Date: Wed, 21 Dec 2016 14:52:16 -0500 Subject: [PATCH] Arithmetic Circuit Additions and Fixes Subtraction, multiplication, and division should work properly. Added sign, round, and exponent circuits. --- .../integrated_electronics/arithmetic.dm | 123 ++++++++++++++++-- code/modules/research/designs.dm | 15 +++ icons/obj/electronic_assemblies.dmi | Bin 24946 -> 25382 bytes 3 files changed, 126 insertions(+), 12 deletions(-) diff --git a/code/modules/integrated_electronics/arithmetic.dm b/code/modules/integrated_electronics/arithmetic.dm index 31265e297e..63925dae5f 100644 --- a/code/modules/integrated_electronics/arithmetic.dm +++ b/code/modules/integrated_electronics/arithmetic.dm @@ -11,6 +11,9 @@ /obj/item/integrated_circuit/arithmetic/addition name = "addition circuit" desc = "This circuit can add numbers together." + extended_desc = "The order that the calculation goes is;
\ + result = ((((A + B) + C) + D) ... ) and so on, until all pins have been added. \ + Null pins are ignored." icon_state = "addition" /obj/item/integrated_circuit/arithmetic/addition/do_work() @@ -29,30 +32,47 @@ /obj/item/integrated_circuit/arithmetic/subtraction name = "subtraction circuit" desc = "This circuit can subtract numbers." + extended_desc = "The order that the calculation goes is;
\ + result = ((((A - B) - C) - D) ... ) and so on, until all pins have been subtracted. \ + Null pins are ignored. Pin A must be a number or the circuit will not function." icon_state = "subtraction" /obj/item/integrated_circuit/arithmetic/subtraction/do_work() - if(..()) - var/result = 0 - for(var/datum/integrated_io/input/I in inputs) - I.pull_data() - if(isnum(I.data)) - result = result - I.data + var/datum/integrated_io/A = inputs[1] + if(!isnum(A.data)) + return + var/result = A.data - for(var/datum/integrated_io/output/O in outputs) - O.data = result - O.push_data() + for(var/datum/integrated_io/input/I in inputs) + if(I == A) + continue + I.pull_data() + if(isnum(I.data)) + result = result - I.data + + for(var/datum/integrated_io/output/O in outputs) + O.data = result + O.push_data() // *Multiply* // /obj/item/integrated_circuit/arithmetic/multiplication name = "multiplication circuit" desc = "This circuit can multiply numbers." + extended_desc = "The order that the calculation goes is;
\ + result = ((((A * B) * C) * D) ... ) and so on, until all pins have been multiplied. \ + Null pins are ignored. Pin A must be a number or the circuit will not function." icon_state = "multiplication" -/obj/item/integrated_circuit/arithmetic/subtraction/do_work() - var/result = 0 + +/obj/item/integrated_circuit/arithmetic/multiplication/do_work() + var/datum/integrated_io/A = inputs[1] + if(!isnum(A.data)) + return + var/result = A.data for(var/datum/integrated_io/input/I in inputs) + if(I == A) + continue I.pull_data() if(isnum(I.data)) result = result * I.data @@ -66,11 +86,20 @@ /obj/item/integrated_circuit/arithmetic/division name = "division circuit" desc = "This circuit can divide numbers, just don't think about trying to divide by zero!" + extended_desc = "The order that the calculation goes is;
\ + result = ((((A / B) / C) / D) ... ) and so on, until all pins have been divided. \ + Null pins, and pins containing 0, are ignored. Pin A must be a number or the circuit will not function." icon_state = "division" /obj/item/integrated_circuit/arithmetic/division/do_work() - var/result = 0 + var/datum/integrated_io/A = inputs[1] + if(!isnum(A.data)) + return + var/result = A.data + for(var/datum/integrated_io/input/I in inputs) + if(I == A) + continue I.pull_data() if(isnum(I.data) && I.data != 0) //No runtimes here. result = result / I.data @@ -79,6 +108,73 @@ O.data = result O.push_data() +//^ Exponent ^// + +/obj/item/integrated_circuit/arithmetic/exponent + name = "exponent circuit" + desc = "Outputs A to the power of B." + icon_state = "exponent" + inputs = list("A", "B") + +/obj/item/integrated_circuit/arithmetic/exponent/do_work() + var/result = 0 + var/datum/integrated_io/A = inputs[1] + var/datum/integrated_io/B = inputs[2] + if(isnum(A.data) && isnum(B.data)) + result = A.data ** B.data + + for(var/datum/integrated_io/output/O in outputs) + O.data = result + O.push_data() + +// +-Sign-+ // + +/obj/item/integrated_circuit/arithmetic/sign + name = "sign circuit" + desc = "This will say if a number is positive, negative, or zero." + extended_desc = "Will output 1, -1, or 0, depending on if A is a postive number, a negative number, or zero, respectively." + icon_state = "sign" + inputs = list("A") + +/obj/item/integrated_circuit/arithmetic/sign/do_work() + var/result = 0 + var/datum/integrated_io/A = inputs[1] + if(isnum(A.data)) + if(A.data > 0) + result = 1 + else if (A.data < 0) + result = -1 + else + result = 0 + + for(var/datum/integrated_io/output/O in outputs) + O.data = result + O.push_data() + +// Round // + +/obj/item/integrated_circuit/arithmetic/round + name = "round circuit" + desc = "Rounds A to the nearest B multiple of A." + extended_desc = "If B is not given a number, it will output the floor of A instead." + icon_state = "round" + inputs = list("A", "B") + +/obj/item/integrated_circuit/arithmetic/round/do_work() + var/result = 0 + var/datum/integrated_io/A = inputs[1] + var/datum/integrated_io/B = inputs[2] + if(isnum(A.data)) + if(isnum(B.data) && B.data != 0) + result = round(A.data, B.data) + else + result = round(A.data) + + for(var/datum/integrated_io/output/O in outputs) + O.data = result + O.push_data() + + // Absolute // /obj/item/integrated_circuit/arithmetic/absolute @@ -103,6 +199,7 @@ /obj/item/integrated_circuit/arithmetic/average name = "average circuit" desc = "This circuit is of average quality, however it will compute the average for numbers you give it." + extended_desc = "Note that null pins are ignored, where as a pin containing 0 is included in the averaging calculation." icon_state = "average" /obj/item/integrated_circuit/arithmetic/average/do_work() @@ -137,6 +234,8 @@ /obj/item/integrated_circuit/arithmetic/random name = "random number generator circuit" desc = "This gives a random (integer) number between values A and B inclusive." + extended_desc = "'Inclusive' means that the upper bound is included in the range of numbers, e.g. L = 1 and H = 3 will allow \ + for outputs of 1, 2, or 3. L being the higher number is not strictly required." icon_state = "random" inputs = list("L","H") diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 38f3022c9c..355ced2d4d 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1629,6 +1629,21 @@ CIRCUITS BELOW build_path = /obj/item/integrated_circuit/arithmetic/random sort_string = "WAAAH" +/datum/design/circuit/integrated_circuit/arithmetic/round + id = "cc-round" + build_path = /obj/item/integrated_circuit/arithmetic/round + sort_string = "WAAAI" + +/datum/design/circuit/integrated_circuit/arithmetic/exponent + id = "cc-exponent" + build_path = /obj/item/integrated_circuit/arithmetic/exponent + sort_string = "WAAAJ" + +/datum/design/circuit/integrated_circuit/arithmetic/sign + id = "cc-sign" + build_path = /obj/item/integrated_circuit/arithmetic/sign + sort_string = "WAAAK" + /datum/design/circuit/integrated_circuit/converter/AssembleDesignName() diff --git a/icons/obj/electronic_assemblies.dmi b/icons/obj/electronic_assemblies.dmi index c46a47ebbd72ee76a3c227ffda6d9bffb36b37fd..bd5263b7f36af4609e441a732d2deccbf0fdba6d 100644 GIT binary patch literal 25382 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 literal 24946 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 I4tvG_7XZ9?W&i*H