Examine individual changes
Jump to navigation
Jump to search
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 |