diff --git a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json index 0ed9a6c..035629a 100644 --- a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json +++ b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json @@ -173,7 +173,12 @@ "venn-diagram-abs-comp.png", "venn-diagram-intersection.png", "venn-diagram-rel-comp.png", - "venn-diagram-symm-diff.png" + "venn-diagram-symm-diff.png", + "function-bijective.png", + "function-injective.png", + "function-surjective.png", + "function-general.png", + "function-kernel.png" ], "File Hashes": { "algorithms/index.md": "3ac071354e55242919cc574eb43de6f8", @@ -353,7 +358,7 @@ "_journal/2024-03-18.md": "8479f07f63136a4e16c9cd07dbf2f27f", "_journal/2024-03/2024-03-17.md": "23f9672f5c93a6de52099b1b86834e8b", "set/directed-graph.md": "b4b8ad1be634a0a808af125fe8577a53", - "set/index.md": "7354797161e6720469801839b10b64c5", + "set/index.md": "c103501e345a1b8201a26f2e83ed8379", "set/graphs.md": "f0cd201673f2a999321dda6c726e8734", "_journal/2024-03-19.md": "a0807691819725bf44c0262405e97cbb", "_journal/2024-03/2024-03-18.md": "63c3c843fc6cfc2cd289ac8b7b108391", @@ -565,7 +570,7 @@ "_journal/2024-06/2024-06-12.md": "f82dfa74d0def8c3179d3d076f94558e", "_journal/2024-06-14.md": "5d12bc272238ac985a1d35d3d63ea307", "_journal/2024-06/2024-06-13.md": "e2722a00585d94794a089e8035e05728", - "set/functions.md": "02b0f1e2a585e918e14a8ccf29fd578d", + "set/functions.md": "ce565fbeb5298eeee0da828a89987ac4", "_journal/2024-06-15.md": "92cb8dc5c98e10832fb70c0e3ab3cec4", "_journal/2024-06/2024-06-14.md": "5d12bc272238ac985a1d35d3d63ea307", "lambda-calculus/beta-reduction.md": "2074de1a5ab2171489239988a84b271f", @@ -715,7 +720,7 @@ "_journal/2024-08/2024-08-10.md": "08e7ea4a78c46645b93ec51e2372d04f", "_journal/2024-08-12.md": "8a37a2d1381f9d9e29d83031bad80dd0", "_journal/2024-08/2024-08-11.md": "acc91e07b43590e90846d2c936dcb3d5", - "c17/types.md": "941438a8f8377e348192d1822e765e40", + "c17/types.md": "5ff85d535ee99d3e7aa79da93eb8383c", "_journal/2024-08-14.md": "800650b9fa2f4445a174e0a547c2fa95", "_journal/2024-08/2024-08-13.md": "8b64225b06d1164a91176b123a3513a2", "_journal/2024-08/2024-08-12.md": "e57b03b929410f3111c894e43e1728ec", @@ -723,7 +728,7 @@ "_journal/2024-08/2024-08-14.md": "f7d1dede5ab6e4634ad9de3d3426c6f7", "_journal/2024-08-16.md": "a25c680684bcffc6a38cebbb448d9d97", "_journal/2024-08/2024-08-15.md": "7c3a96a25643b62b0064bf32cb17d92f", - "_journal/2024-08-17.md": "375318b50134c7cb45a8eb08bc7e586d", + "_journal/2024-08-17.md": "b06a551560c377f61a1b39286cd43cee", "_journal/2024-08/2024-08-16.md": "096d9147a9e3e7a947558f8dec763a2c", "set/order.md": "373f4336d4845a3c2188d2215ac5fbc4" }, diff --git a/notes/c17/types.md b/notes/c17/types.md index 57ba2a9..a2f278c 100644 --- a/notes/c17/types.md +++ b/notes/c17/types.md @@ -216,7 +216,7 @@ END%% ### Literals -Negative integer literals are typed in a counterintuitive way. When the compiler sees a number of form `-X`, the type of `X` is determined *before* being negated. Promotion rules are as follows: +Negative integer literals are typed in a counterintuitive way. When the compiler sees a number of form `-X`, the type of `X` is determined *before* being negated. Promotion follows the **first fit rule** described as follows: | Decimal | Oct/Hex | | ----------- | -------------------- | @@ -227,6 +227,69 @@ Negative integer literals are typed in a counterintuitive way. When the compiler | `-` | `long long` | | `-` | `unsigned long long` | +%%ANKI +Basic +What is the first fit rule? +Back: A specification on what type is given to an integer literal. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +What is the signedness of a decimal integer literal? +Back: `signed` +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +What is the signedness of an octal integer literal? +Back: `signed` or `unsigned`. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +What is the signedness of a hexadecimal integer literal? +Back: `signed` or `unsigned`. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +The first fit rule lists what types (in order) for decimal integer literals? +Back: `int`, `long`, and `long long`. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +The first fit rule lists what types (in order) for octal integer literals? +Back: `int`, `unsigned`, `long`, `unsigned long`, `long long`, and `unsigned long long`. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +The first fit rule lists what types (in order) for hexadecimal integer literals? +Back: `int`, `unsigned`, `long`, `unsigned long`, `long long`, and `unsigned long long`. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +The first fit rule lists what types (in order) for hexadecimal integer literals? +Back: `int`, `unsigned`, `long`, `unsigned long`, `long long`, and `unsigned long long`. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). +END%% + %%ANKI Basic How does the compiler process integer literal `-X`? @@ -267,6 +330,14 @@ Reference: Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems END%% +%%ANKI +Basic +Why avoid negative hexadecimal integer literals? +Back: Depending on value, the resulting type may be `unsigned`. +Reference: Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + %%ANKI Cloze Octal literals are to {`0`} whereas hexadecimal literals are to {`0x`/`0X`}. @@ -320,38 +391,6 @@ Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Program END%% -%%ANKI -Basic -What suffix can be used to denote an `unsigned` integer literal? -Back: Case-insensitive `U`. -Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. - -END%% - -%%ANKI -Basic -What suffix can be used to denote a `long` integer literal? -Back: Case-insensitive `L`. -Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. - -END%% - -%%ANKI -Basic -What suffix can be used to denote a `long long` integer literal? -Back: Case-insensitive `LL`. -Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. - -END%% - -%%ANKI -Basic -What suffix can be used to denote an `unsigned long long` integer literal? -Back: Case-insensitive `ULL`. -Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. - -END%% - %%ANKI Basic In what order does C cast size and "signedness"? @@ -419,6 +458,178 @@ Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Program END%% +Integer constants can be forced to be unsigned or to be a type with minimal width by using the following suffixes: + +| Suffix | Type | +| ------ | -------------------- | +| `U` | `unsigned` | +| `L` | `long` | +| `LL` | `long long` | +| `ULL` | `unsigned long long` | + +%%ANKI +Basic +Is an integer literal without a suffix (e.g. `U`) signed or unsigned? +Back: This depends on the first fit rule. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +What type is given to an integer literal without a suffix (e.g. `U`)? +Back: This depends on the first fit rule. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +What suffix can be used to denote an `unsigned` integer literal? +Back: Case-insensitive `U`. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What suffix can be used to denote a `long` integer literal? +Back: Case-insensitive `L`. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What suffix can be used to denote a `long long` integer literal? +Back: Case-insensitive `LL`. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What suffix can be used to denote an `unsigned long long` integer literal? +Back: Case-insensitive `ULL`. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What type is given to integer literal `-1`? +Back: `int` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What type is given to integer literal `-1U`? +Back: `unsigned int` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What type is given to integer literal `1`? +Back: `int` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What type is given to integer literal `0x0U`? +Back: `unsigned int` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +## Floating Point + +### Literals + +Floating-point constants can be forced to be a type with minimal width by using the following suffixes: + +| Suffix | Type | +| ------ | ------------- | +| `F` | `float` | +| `L` | `long double` | + +%%ANKI +Basic +What type is given to a floating-point literal without a suffix (e.g. `F`)? +Back: `double` +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +What suffix can be used to denote a `float` floating-point literal? +Back: Case-insensitive `F`. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What suffix can be used to denote a `double` floating-point literal? +Back: N/A. Do not use a suffix. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What suffix can be used to denote a `long double` floating-point literal? +Back: Case-insensitive `L`. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What type is given to floating-point literal `-1.0`? +Back: `double` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What type is given to floating-point literal `-1.0F`? +Back: `float` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What type is given to floating-point literal `-1.0FL`? +Back: N/A. Invalid suffix. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What type is given to floating-point literal `-1.0L`? +Back: `long double` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What type is given to floating-point literal `-1.0LL`? +Back: N/A. Invalid suffix. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + ## Bibliography * Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. diff --git a/notes/set/functions.md b/notes/set/functions.md index 648dc32..54e0f05 100644 --- a/notes/set/functions.md +++ b/notes/set/functions.md @@ -1313,6 +1313,7 @@ END%% Cloze Let $Q$, $A$, and $B$ be sets. Then {$Q \restriction (A - B)$} $=$ {$(Q \restriction A) - (Q \restriction B)$}. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + END%% %%ANKI diff --git a/notes/set/index.md b/notes/set/index.md index c5a7f7e..c485b70 100644 --- a/notes/set/index.md +++ b/notes/set/index.md @@ -603,6 +603,14 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Basic +What does $\bigcup\,\{x\}$ evaluate to? +Back: $x$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + ### General Form For any set $A$, there exists a set $B$ whose elements are exactly the members of the members of $A$: $$\forall A, \exists B, \forall x, x \in B \Leftrightarrow (\exists b \in B, x \in b)$$