User:Christian Sirolli

Hello I am a Child of God who is all for God and is willing to tell any one of God's great gift of salvation!

My Name
The following paragraph is from when my username was AChildOfGod. I decided to write this after I went into a chat room to see a certain bug, and people there were asking about my name. It worked out that I was able to see the bug. Thankfully, the bug is fixed and long gone.
 * Many people wonder about my name; some call me Jesus, others say I must be really old, so I am going to explain it. 1 John 3:1 says, "See what great love the Father has lavished on us, that we should be called children of God! And that is what we are! The reason the world does not know us is that it did not know him." And John 1:12 says, "Yet to all who did receive him [Jesus], to those who believed in his name, he gave the right to become children of God—". The Bible also says about the children of God in Romans 8:14, "For those who are led by the Spirit of God are the children of God."

Salvation
Whenever I tell a non-Christian about Hell, I also tell them about how God doesn't want them to go to Hell, and made the way out through Jesus! If you commit rebellion against a human king, your wages for that is death. Rebellion against God (the King of kings) gets you eternal death in Hell. The only way to be forgiven is through the shedding of blood of a perfect animal or person. Jesus, who is perfect, shed His own blood on the cross for us so we can be forgiven. It is through Him we are saved, not on our own. Ask for forgiveness for your rebellion and you will be saved from your sin. God casts your sin into a sea of forgetfulness, and looks at us through Jesus and sees us as perfect and righteous, so we can be forgiven. Christianity is about God reaching out to mankind to allow them to enjoy eternal life in heaven. He wants to have a relationship with us, His creation! What other god would want to do such a thing as the one true God? God is a God of love and forgiveness. He is a God of grace and mercy. He is a God of second chances. He gives us a second chance at living, with a clean slate! Why should He? He does so because He loves us! He being perfect can't have sin in His presence, so He makes a way for us to be with Him without sin. It is God's will for all to come to repentance, but we have to make that first step by fully submitting our lives to Him; He deserves our lives and created them! When you submit yourself to Him, He changes you in a way that makes you amazing. You eventually are loving, joyful, peaceful, patient, kind, good, faithful, gentle, and self-controlled. Every human is not a good person, but with God we can live a life full of joy even in the hard times. God is also a God of justice, so our sin has to be paid for with our own souls or by the blood of Christ. I have chosen for my sin to be paid for by Christ, so I won't have to go to Hell. It is simple. I set before you life and death, please chose LIFE!

Type conversion
A float can be converted to type integer by operator trunc (note however that for 2^63 <= x <= 2^64 we get x - 2^64, for larger x we get 0; for x < -2^63 we get -2^63).

An expression of type integer can be converted to float by adding 0. Note that for integers greater than 2^53 this involves rounding.

Limitations and workarounds
The operator trunc gives the correct mathematical result of rounding toward 0 to an integer for integer-type numbers and for floats x inside the integer range: -2^63 <= x < 2^63. To also get the correct mathematical result for floats outside this range is simple, because these floats all have an integer value, so they can be left unchanged. Template:Trunc does this.

The operator mod gives strange errors for some fairly large values of the second argument: Template:Modint works correctly for a larger range.

The operator round with second argument 0 gives wrong results for odd numbers between 2^52 and 2^53, even though the exact results are representable as float. Also, the operator rounds integer-type numbers with an absolute value between 2^53 and 2^63 to float. Template:Round0 always gives the expression for the exact result, for subsequent use in an expression, or for display (with the accuracy of this depending on the accuracy of the display function or template only).

The operator floor rounds integer-type numbers with an absolute value between 2^53 and 2^63 to float, and not necessarily downward. Similarly the operator ceil rounds these numbers not necessarily upward. Template:Floor and Template:Ceil always give the expressions for the exact results, for subsequent use in an expression, or for display (with the accuracy of this, and the direction of rounding, depending on the display function or template only).

Branching depending on an expression
The function #ifexpr: produces one of two specified results, depending on the value of a boolean expression involving numbers and booleans (not strings). Examples:
 * yields  because today is Tuesday and so.

Note that rounding errors can affect a comparison, even if they are not visible in the displayed values: the internal values are compared. This applies even to large integers: Instead one may want to allow a relatively small difference that could be present due to rounding errors:

Again, for comparing a number of type float with one of type integer, the integer is converted to float. In this case the type is determined by the format of the number, e.g. 2 is an integer, but 2.0 and 2e0 are floats; also 12345678901234567890 is a float, because it is too large for an integer.

Again, equality is not transitive with mixed types:







Comparisons
The functions  and   compare numbers and strings for equality using PHP operator ==, the same as the equality operator mentioned above, but now applied directly to the expanded wikitext of the arguments. For comparison as numbers no expressions (not even constants) are allowed, but in this case the unary plus and minus and the e of scientific notation are taken as part of the number, instead of as operators. Without e and decimal point the type is integer, otherwise it is float. As mentioned above, when an integer is compared with a float, the integer is converted to float first.


 * although rounding both numbers to float gives different internal numbers:
 * (two numbers of type integer, therefore only true if exactly equal); compare:
 * (due to the decimal point in one number, both are rounded to float before the comparison, so the comparison is cruder)
 * although rounding both numbers to float gives different internal numbers:
 * (two numbers of type integer, therefore only true if exactly equal); compare:
 * (due to the decimal point in one number, both are rounded to float before the comparison, so the comparison is cruder)
 * (two numbers of type integer, therefore only true if exactly equal); compare:
 * (due to the decimal point in one number, both are rounded to float before the comparison, so the comparison is cruder)
 * (due to the decimal point in one number, both are rounded to float before the comparison, so the comparison is cruder)

Length of expressions
Long expressions are allowed, see Template:Long expression demo. However, see also efficiency.

Error messages
Examples for all known #expr: and #ifexpr: error messages. The error texts are within the tags &lt;strong class="error">..&lt;/strong>.



{&#123; &#160; #expr:{&#123; &#160; x|102|1000*&#125;} &#160; 18 &#160; &#125;} gives

{&#123; &#160; #expr:{&#123; &#160; x|102|1000*&#125;} &#160; 179 &#160; &#125;} gives

{&#123; &#160; #expr:{&#123; &#160; x|102|1000*&#125;} &#160; 180</tt> &#160; &#125;} gives (on Wikimedia "INF", but depending on the operating system of the server it may also be e.g. "1.#INF")

INF also appears when an intermediate result is of range: but

{&#123; &#160; #expr:</tt>{&#123; &#160; x|33|(1+(</tt>&#125;} &#160; 1</tt> &#160; {&#123; &#160; x|33|))</tt>&#125;} &#125;} gives

{&#123; &#160; #expr:</tt>{&#123; &#160; x|34|(1+(</tt>&#125;} &#160; 1</tt> &#160; {&#123; &#160; x|34|))</tt>&#125;} &#125;} gives

&#160; (no feature, only an oddity)

Note: copies a given string, here parts of an expression, for the specified times (max. 120). Wikitext without error message from the parser functions, but typically unintended:

Checking for a number
Check whether a string is a valid numeric expression:
 * gives
 * gives
 * gives

Find the value represented by a string if it is a valid numeric expression, otherwise just return the string:
 * gives
 * gives
 * gives

Check whether a string is a number:
 * gives
 * gives
 * gives
 * gives
 * gives
 * gives

Minus sign
Only the character or  character, typed directly, work as a minus sign operator in expressions.
 * The HTML character references (by name or by numeric code point value) are not recognized when evaluating expressions: numerical character references are converted only when generating the final HTML document (after expansion of templates and parser functions)
 * Only a handful of character references by name are substituted early by MediaWiki, all others are interpreted only by the browser.
 * The other dash characters (such as the hyphen, the figure dash,, and others), though often similar visually, are not valid minus signs, but punctuation signs or typographical variants.

Also many other calculation programs require a hyphen. Therefore, in order to be able to copy rendered numbers and expressions to the edit box or input them through a copy operation into other calculation programs, displayed minus signs also need to be hyphens.

Displaying numbers and numeric expressions
Guidelines such as focus on number display as end product. However, a point of consideration can also be the possibility to apply the rendered output to #expr or #ifexpr, or to input it without conversion into other calculation programs. This would require the following:
 * use digits, not words
 * as mentioned above, use the hyphen as minus sign
 * use *, <=, and >=, not ×, ≤, or ≥
 * do not use thousands separators (however, some programs allow them)
 * use output like 6E23 or 6e23 rather than 6

Examples:

If the number is the result of a computation by MediaWiki and unsuitable for use in a new computation due to application of a formatting function such as #formatnum or a formatting template, one can copy the wikitext and apply the additional computation before the formatting. However, when templates are used, and copying is done to another wiki, these templates have to be copied too, or substituted.

If you want to calculate with Magic words and return group separated results you can use formatnum: = 0 (instead of ).