Cyclic Amplification System
Cyclic Amplification System is a language invented by User:A that multiplies an integer and adds the carry back to the number.
Syntax
Cyclic Amplification System takes a number program and rule; they don't have to be in decimal form. They can be in the floating-point form.
In each process, Cyclic Amplification System multiplies the rule and the code, and it does a special mechanism to make the resulting string fit into its original digit. It adds the rightmost digits of the "carry" to rightmost digit to the code string and does carries to the code string, and it adds all of the digits from the leftmost digit to the rightmost digit until there are still numbers in the rule string and the code string has no more digits. The addition continues as the adding is mapped back to the rightmost digit and adding is still done. If the resulting number still cannot be fit into the original program length, the process is done again.
Cyclic Amplification System explicitly halts when the original digits in the program string reaches 0. For example, CAS halts when the original string is 123
and ends when the end string is 1111000
or 000
; there are infinitely many possible ending strings that ends in 3 0's. This rule is trivial, as a halting program is trivially (essentially) a no-op program.
An example
Base 10, program 444
, rule 34
.
Steps
The result for that computation is 15096. 15 will be added to 096, resulting in 111. It continues, and the process will be skipped.
Another example for a computation that does many executions finitely
Base 10, program 99
, rule 111
The result is 10989. 109 will be added to 89, resulting in 801. The 1 will be added to 801, resulting in 802. It still does not fit into the 2-digit boundary, so it becomes 10. Then, the rule applies again, and 10 becomes 1110. Then, the string becomes 21, and so on.
Computational class
It is unclear what computational class it is. It is definitely at least a finite-state automata.