Skip to content

Commit 806cea0

Browse files
authored
Merge branch 'main' into lastIndexOf
2 parents df212ab + 77c540c commit 806cea0

File tree

27 files changed

+1966
-12
lines changed

27 files changed

+1966
-12
lines changed

CONTRIBUTING.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,6 @@ git rebase upstream main
158158
git push
159159
```
160160

161-
## Additional Resources
162-
163-
- [How to Contribute to Docs](https://dev.to/codecademy/how-to-contribute-to-codecademy-docs-1a77) article
164-
165-
Remember, if you ever have any questions at all, we're always here to help in the [Codecademy Forums](https://discuss.codecademy.com/c/community/community-docs/2205) and [Codecademy Discord](https://discord.com/invite/codecademy).
161+
Remember, if you ever have any questions at all, we're always here to help in the [Codecademy Forums](https://community.codecademy.com/).
166162

167163
If you find any bugs or errors in the content, feel free to file an issue [here](https://github.com/Codecademy/docs/issues/new?assignees=Name+here&labels=bug&template=bug_reports.yml&title=%5BBug%2FError%5D+Subject%3A+Entry+Name)! 🖖

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Here's how you can contribute to Codecademy Docs:
5656
- Submit your work:
5757
- Submit a Pull Request of your entry for your assigned Issue.
5858
- Collaborate and provide feedback:
59-
- Reply to the thread on [Possible Content Discussion](https://discuss.codecademy.com/t/find-a-starting-point-possible-content-discussion/745868) to share ideas and collaborate with other contributors, maintainers, or super users to determine good future issues.
59+
- Reply to the thread on [Possible Content Discussion](https://community.codecademy.com/) to share ideas and collaborate with other contributors, maintainers, or super users to determine good future issues.
6060
- Share your thoughts in this [Docs feedback form](https://codecademyready.typeform.com/to/hzVIWDgz) to tell us how we can improve Docs!
6161

6262
Whether you are a code newbie or a seasoned hacker, there's something for you!

bin/concept-of-the-week.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
content/kotlin/concepts/operators/operators.md
1+
content/kotlin/concepts/variables/variables.md

content/c-sharp/concepts/math-functions/terms/abs/abs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
Title: 'Abs()'
2+
Title: '.Abs()'
33
Description: 'Returns the absolute value of a specified number.'
44
Subjects:
55
- 'Computer Science'
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
Title: 'Acosh()'
3+
Description: 'Returns the inverse hyperbolic cosine of a specified number.'
4+
Subjects:
5+
- 'Computer Science'
6+
- 'Web Development'
7+
Tags:
8+
- 'Functions'
9+
- 'Math'
10+
- 'Methods'
11+
- 'Numbers'
12+
CatalogContent:
13+
- 'learn-c-sharp'
14+
- 'paths/computer-science'
15+
---
16+
17+
The **`Math.Acosh()`** method returns the inverse hyperbolic cosine (also known as hyperbolic arccosine) of a specified number. It computes the value whose hyperbolic cosine equals the given number.
18+
19+
## Syntax
20+
21+
```pseudo
22+
Math.Acosh(number);
23+
```
24+
25+
**Parameters:**
26+
27+
- `number`: A double-precision floating-point value greater than or equal to `1`, for which to compute the inverse hyperbolic cosine.
28+
29+
**Return value:**
30+
31+
- The inverse hyperbolic cosine of the specified number in radians as a `double`.
32+
- `NaN` if the input is less than `1` or `NaN`.
33+
34+
## Example: Basic Usage of `Math.Acosh()`
35+
36+
This example calculates the inverse hyperbolic cosine of a number using `Math.Acosh()` and displays the result in radians:
37+
38+
```cs
39+
using System;
40+
41+
public class Example
42+
{
43+
public static void Main()
44+
{
45+
double number = 1.5;
46+
double result = Math.Acosh(number);
47+
Console.WriteLine($"Math.Acosh({number}) = {result} radians");
48+
}
49+
}
50+
```
51+
52+
This example outputs the following:
53+
54+
```shell
55+
Math.Acosh(1.5) = 0.9624236501192069 radians
56+
```
57+
58+
## Codebyte Example
59+
60+
In this example, the `Math.Acosh()` method is used to calculate the inverse hyperbolic cosine of a specified number in radians and degrees:
61+
62+
```codebyte/csharp
63+
using System;
64+
65+
public class Example {
66+
public static void Main() {
67+
double number = 100.0;
68+
69+
// Calculate Acosh in radians
70+
double resultRadians = Math.Acosh(number);
71+
72+
// Convert radians to degrees
73+
double resultDegrees = resultRadians * (180.0 / Math.PI);
74+
75+
// Display results
76+
Console.WriteLine($"Math.Acosh({number}) = {resultRadians} radians");
77+
Console.WriteLine($"Math.Acosh({number}) = {resultDegrees} degrees");
78+
}
79+
}
80+
```
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
Title: 'Atanh()'
3+
Description: 'Returns the inverse hyperbolic tangent of a number.'
4+
Subjects:
5+
- 'Computer Science'
6+
- 'Code Foundations'
7+
Tags:
8+
- 'Arithmetic'
9+
- 'Methods'
10+
- 'Numbers'
11+
CatalogContent:
12+
- 'learn-c-sharp'
13+
- 'paths/computer-science'
14+
---
15+
16+
The **`Math.Atanh()`** method returns the inverse hyperbolic tangent (hyperbolic arctangent) of a specified number. The inverse hyperbolic tangent is the value whose hyperbolic tangent is the input number.
17+
18+
## Syntax
19+
20+
```pseudo
21+
Math.Atanh(value);
22+
```
23+
24+
**Parameters:**
25+
26+
- `value`: A double-precision floating-point number in the range `-1` to `1`, representing the hyperbolic tangent value.
27+
28+
**Return value:**
29+
30+
The `Math.Atanh()` method returns the inverse hyperbolic tangent of the given `value` as a `double`.
31+
32+
It returns:
33+
34+
- `NaN` (Not a Number) if the `value` is less than `-1` or greater than `1`.
35+
- `NegativeInfinity` if the `value` is exactly `-1`.
36+
- `PositiveInfinity` if the `value` is exactly `1`.
37+
38+
## Example: Basic Usage of `Math.Atanh()`
39+
40+
The following example demonstrates the basic usage of `Math.Atanh()`:
41+
42+
```cs
43+
using System;
44+
45+
class Program
46+
{
47+
static void Main()
48+
{
49+
double value = 0.5;
50+
double result = Math.Atanh(value);
51+
Console.WriteLine($"Atanh({value}) = {result}");
52+
}
53+
}
54+
```
55+
56+
This will output:
57+
58+
```shell
59+
Atanh(0.5) = 0.5493061443340548
60+
```
61+
62+
## Codebyte Example
63+
64+
In this example, different values are passed to `Math.Atanh()` to observe how the result changes:
65+
66+
```codebyte/csharp
67+
using System;
68+
69+
class Program
70+
{
71+
static void Main()
72+
{
73+
double[] testValues = { 0.25, 0.5, 0.75, 0.9, -0.5 };
74+
75+
foreach (double value in testValues)
76+
{
77+
double result = Math.Atanh(value);
78+
Console.WriteLine($"Atanh({value}) = {result:F4}");
79+
}
80+
}
81+
}
82+
```
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
Title: '.BigMul()'
3+
Description: 'Multiplies two integer values and returns the full extended result to prevent overflow.'
4+
Subjects:
5+
- 'Computer Science'
6+
- 'Code Foundations'
7+
Tags:
8+
- 'Methods'
9+
- 'Numbers'
10+
- 'Arithmetic'
11+
CatalogContent:
12+
- 'learn-c-sharp'
13+
- 'paths/computer-science'
14+
---
15+
16+
The **`Math.BigMul()`** method multiplies two integer values and returns the full extended result to avoid overflow. It ensures that the product fits within a larger data type when the operands are 32-bit or 64-bit integers.
17+
18+
## Syntax
19+
20+
```pseudo
21+
Math.BigMul(x, y);
22+
```
23+
24+
**Parameters:**
25+
26+
- `x`, `y`: The integers to be multiplied. These can be of type `int`, `uint`, `long`, or `ulong`.
27+
28+
**Return value:**
29+
30+
Returns the full product of `x` and `y` as a single 64-bit or 128-bit integer, depending on the input type:
31+
32+
- If `x` and `y` are of type `int` or `uint`, the return type is `long` and `ulong`, respectively.
33+
- If `x` and `y` are of type `long` or `ulong`, the return type is `Int128` and `UInt128`, respectively.
34+
35+
> **Note:** The `Int128` and `UInt128` types were introduced in .NET 7. In earlier versions, `Math.BigMul(long, long, out long high)` can be used to obtain the high and low 64-bit parts of the product.
36+
37+
## Example: Basic Usage
38+
39+
In this example, the full product of two `int` values is calculated without overflow:
40+
41+
```cs
42+
using System;
43+
44+
public class Example {
45+
public static void Main() {
46+
// Integer values (32-bit)
47+
int intX = 100000;
48+
int intY = 500000;
49+
50+
// Compute the product safely
51+
long intResult = Math.BigMul(intX, intY);
52+
53+
Console.WriteLine($"Math.BigMul({intX}, {intY}) = {intResult}");
54+
}
55+
}
56+
```
57+
58+
This example outputs the following:
59+
60+
```shell
61+
Math.BigMul(100000, 500000) = 50000000000
62+
```
63+
64+
## Codebyte Example
65+
66+
The following example demonstrates the use of `Math.BigMul()` to calculate the product of two integers that would normally cause an overflow with standard multiplication:
67+
68+
```codebyte/csharp
69+
using System;
70+
71+
public class Example {
72+
public static void Main (string[] args) {
73+
int x = 200000;
74+
int y = 300000;
75+
76+
// Normal multiplication (overflow)
77+
int normalResult = x * y;
78+
79+
// Math.BigMul() (no overflow)
80+
long bigMulResult = Math.BigMul(x, y);
81+
82+
Console.WriteLine($"Normal multiplication (overflow): {normalResult}");
83+
Console.WriteLine($"BigMul (no overflow): {bigMulResult}");
84+
}
85+
}
86+
```
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
Title: 'Cbrt()'
3+
Description: 'Returns the cube root of the given number.'
4+
Subjects:
5+
- 'Code Foundations'
6+
- 'Computer Science'
7+
Tags:
8+
- 'Arithmetic'
9+
- 'Methods'
10+
- 'Numbers'
11+
CatalogContent:
12+
- 'learn-c-sharp'
13+
- 'paths/computer-science'
14+
---
15+
16+
The **`Math.Cbrt()`** [method](https://www.codecademy.com/resources/docs/c-sharp/methods) in C# returns the cube root of a given number. It handles positive, negative, and special floating-point values such as `NaN` and infinities.
17+
18+
## Syntax
19+
20+
```pseudo
21+
Math.Cbrt(double x)
22+
```
23+
24+
**Parameters:**
25+
26+
- `x` (double): The number whose cube root is to be calculated.
27+
28+
**Return value:**
29+
30+
The method will return a value of [type](https://www.codecademy.com/resources/docs/c-sharp/data-types) `double` unless the value passed is one of the following:
31+
32+
- If `x` is `NaN`, the method will return `NaN`.
33+
- If `x` is `PositiveInfinity`, the method will return `PositiveInfinity`.
34+
- If `x` is `NegativeInfinity`, the method will return `NegativeInfinity`.
35+
- If `x` is negative, the method will return the real cube root (a negative number).
36+
37+
## Example
38+
39+
In this example, different numeric values are passed to `Math.Cbrt()` to calculate their cube roots:
40+
41+
```cs
42+
using System;
43+
44+
namespace MyCubeRoot {
45+
public class Example {
46+
public static void Main(string[] args) {
47+
double a = Math.Cbrt(27);
48+
double b = Math.Cbrt(-8);
49+
double c = Math.Cbrt(1000);
50+
double d = Math.Cbrt(0.125);
51+
52+
Console.WriteLine(a);
53+
Console.WriteLine(b);
54+
Console.WriteLine(c);
55+
Console.WriteLine(d);
56+
}
57+
}
58+
}
59+
```
60+
61+
This example results in the following output:
62+
63+
```shell
64+
3.0000000000000004
65+
-2
66+
10
67+
0.49999999999999994
68+
```
69+
70+
## Codebyte Example
71+
72+
In this example, the cube root of 64 is calculated using `Math.Cbrt()` and printed to the console:
73+
74+
```codebyte/csharp
75+
using System;
76+
77+
public class Example {
78+
public static void Main() {
79+
double number = 64;
80+
double cubeRoot = Math.Cbrt(number);
81+
82+
Console.WriteLine("The cube root of " + number + " is " + cubeRoot);
83+
}
84+
}
85+
```

0 commit comments

Comments
 (0)