Examine individual changes
This page allows you to examine the variables generated by the Abuse Filter for an individual change.
Variables generated for this change
Variable | Value |
---|---|
Edit count of the user (user_editcount) | 0 |
Name of the user account (user_name) | '.yazic' |
Age of the user account (user_age) | 362868 |
Page ID (page_id) | 12327 |
Page namespace (page_namespace) | 0 |
Page title (without namespace) (page_title) | 'XOṘ Mạchịne' |
Full page title (page_prefixedtitle) | 'XOṘ Mạchịne' |
Action (action) | 'edit' |
Edit summary/reason (summary) | '/* NOT b */ ' |
Old content model (old_content_model) | 'wikitext' |
New content model (new_content_model) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext) | '[[XOṘ Mạchịne]] is an [[OISC]] based on the XOR operation invented by [[User:A]]. It is an open question on whether this machine can simulate every logic gate with two parameters.
==Exclusive-Or reference==
{| class="wikitable" border="1"
|-
! A
! B
! Result
|-
| 1
| 1
| 0
|-
| 1
| 0
| 1
|-
| 0
| 1
| 1
|-
| 0
| 0
| 0
|}
==The Program Execution Process==
Input two bits, where the first bit represents a, and the second bit represents b. After processing the program, output whether a is larger than b. If that is true, output 1. Otherwise, output 0.
There is only 1 constant available. That is the constant <code>1</code>, which represents the bit 1.
<code>a</code> represents the bit a, and <code>b</code> represents the bit b.
For every two commands, e.g. <code>ab</code>, a XOR b is done and is stored in a.
==Example programs==
===a AND (NOT b)===
===(NOT a) AND b===
<code>abbabb</code>
===NOT (a XOR b)===
<code>aba1bb</code>
===Output 0===
<code>bbaa</code>
===Output 1===
<code>bbaaa1</code>
===a XOR b===
<code>abbb</code>
===a===
<code>bb</code>
===NOT a===
<code>bba1</code>
===NOT b===
<code>aaabbaaba1</code>
===b===
<code>aaabbaab</code>
===a AND b===
<code>b1</code>
===a NOR b===
<code>a1</code>
==C Implementation==
<pre>
#include <stdio.h>
int main(int argc, char*argv[]) {
FILE *fp=fopen(argv[1],"r");
char code[99999];
int c;
for(int i=0;(c=fgetc(fp))!=EOF;i++)
code[i]=c;
char a,b;
char s[3];
scanf("%s",&s);
a=s[0]-48;
b=s[1]-48;
//debug
for(int i=0;code[i]!='\0';i+=2) {
if(code[i]=='a'&&code[i+1]=='a')
a ^= a;
else if(code[i]=='a'&&code[i+1]=='b')
a ^= b;
else if(code[i]=='a'&&code[i+1]=='1')
a ^= 1;
else if(code[i]=='b'&&code[i+1]=='a')
b ^= a;
else if(code[i]=='b'&&code[i+1]=='b')
b ^= b;
else if(code[i]=='b'&&code[i+1]=='1')
b ^= 1;
}
printf("%d",a>b);
return 0;
}</pre>
[[Category:2019]]
[[Category:Languages]]
[[Category:Implemented]]
[[Category:OISC]]
[[Category:Finite state automata]]
[[Category:Total]]' |
New page wikitext, after the edit (new_wikitext) | '[[XOṘ Mạchịne]] is an [[OISC]] based on the XOR operation invented by [[User:A]]. It is an open question on whether this machine can simulate every logic gate with two parameters.
==Exclusive-Or reference==
{| class="wikitable" border="1"
|-
! A
! B
! Result
|-
| 1
| 1
| 0
|-
| 1
| 0
| 1
|-
| 0
| 1
| 1
|-
| 0
| 0
| 0
|}
==The Program Execution Process==
Input two bits, where the first bit represents a, and the second bit represents b. After processing the program, output whether a is larger than b. If that is true, output 1. Otherwise, output 0.
There is only 1 constant available. That is the constant <code>1</code>, which represents the bit 1.
<code>a</code> represents the bit a, and <code>b</code> represents the bit b.
For every two commands, e.g. <code>ab</code>, a XOR b is done and is stored in a.
==Example programs==
===a AND (NOT b)===
===(NOT a) AND b===
<code>abbabb</code>
===NOT (a XOR b)===
<code>aba1bb</code>
===Output 0===
<code>bbaa</code>
===Output 1===
<code>bbaaa1</code>
===a XOR b===
<code>abbb</code>
===a===
<code>bb</code>
===NOT a===
<code>bba1</code>
===NOT b===
<code>aa1</code>
===b===
<code>aaabbaab</code>
===a AND b===
<code>b1</code>
===a NOR b===
<code>a1</code>
==C Implementation==
<pre>
#include <stdio.h>
int main(int argc, char*argv[]) {
FILE *fp=fopen(argv[1],"r");
char code[99999];
int c;
for(int i=0;(c=fgetc(fp))!=EOF;i++)
code[i]=c;
char a,b;
char s[3];
scanf("%s",&s);
a=s[0]-48;
b=s[1]-48;
//debug
for(int i=0;code[i]!='\0';i+=2) {
if(code[i]=='a'&&code[i+1]=='a')
a ^= a;
else if(code[i]=='a'&&code[i+1]=='b')
a ^= b;
else if(code[i]=='a'&&code[i+1]=='1')
a ^= 1;
else if(code[i]=='b'&&code[i+1]=='a')
b ^= a;
else if(code[i]=='b'&&code[i+1]=='b')
b ^= b;
else if(code[i]=='b'&&code[i+1]=='1')
b ^= 1;
}
printf("%d",a>b);
return 0;
}</pre>
[[Category:2019]]
[[Category:Languages]]
[[Category:Implemented]]
[[Category:OISC]]
[[Category:Finite state automata]]
[[Category:Total]]' |
Unified diff of changes made by edit (edit_diff) | '@@ -49,5 +49,6 @@
<code>bba1</code>
===NOT b===
-<code>aaabbaaba1</code>
+<code>aa1</code>
+
===b===
<code>aaabbaab</code>
' |
New page size (new_size) | 1996 |
Old page size (old_size) | 2002 |
Lines added in edit (added_lines) | [
0 => '<code>aa1</code>',
1 => ''
] |
Unix timestamp of change (timestamp) | 1623862098 |