diff --git a/.github/workflows/doc-deployment.yml b/.github/workflows/doc-deployment.yml index e2f39866c..d48149407 100644 --- a/.github/workflows/doc-deployment.yml +++ b/.github/workflows/doc-deployment.yml @@ -22,7 +22,7 @@ jobs: - name: Install dependencies run: | - pip install -v ford==6.1.10 + pip install -v ford==7.0.5 pip install fypp python --version ford --version diff --git a/API-doc-FORD-file.md b/API-doc-FORD-file.md index 8aa447b3a..b22c80b08 100644 --- a/API-doc-FORD-file.md +++ b/API-doc-FORD-file.md @@ -8,6 +8,14 @@ exclude_dir: src/tests output_dir: API-doc page_dir: doc media_dir: doc/media +exclude: src/stdlib_linalg_lapack.fypp + src/stdlib_linalg_lapack_aux.fypp + src/stdlib_linalg_lapack_c.fypp + src/stdlib_linalg_lapack_d.fypp + src/stdlib_linalg_lapack_q.fypp + src/stdlib_linalg_lapack_s.fypp + src/stdlib_linalg_lapack_w.fypp + src/stdlib_linalg_lapack_z.fypp fpp_extensions: fypp preprocess: true macro: MAXRANK=3 @@ -36,7 +44,7 @@ favicon: doc/media/favicon.ico license: by-sa author: fortran-lang/stdlib contributors author_pic: https://fortran-lang.org/assets/img/fortran_logo_512x512.png -author_email: fortran-lang@groups.io +email: fortran-lang@groups.io github: https://github.com/fortran-lang twitter: https://twitter.com/fortranlang website: https://fortran-lang.org diff --git a/doc/specs/stdlib_ansi.md b/doc/specs/stdlib_ansi.md index 7fa8e8d3c..dc55828e2 100644 --- a/doc/specs/stdlib_ansi.md +++ b/doc/specs/stdlib_ansi.md @@ -194,7 +194,7 @@ Generic interface to turn a style, foreground or background enumerator into an a #### Syntax -`string = [[stdlib_string_colors(module):to_string(interface)]] (code)` +`string =` [[stdlib_ansi(module):to_string(interface)]] `(code)` #### Class diff --git a/doc/specs/stdlib_array.md b/doc/specs/stdlib_array.md index f9353aa22..e10a95aff 100644 --- a/doc/specs/stdlib_array.md +++ b/doc/specs/stdlib_array.md @@ -27,7 +27,7 @@ The built-in / intrinsics are usually preferable to `trueloc`, unless the access #### Syntax -`loc = [[trueloc(function)]] (array[, lbound])` +`loc =` [[trueloc(function)]] `(array[, lbound])` #### Class @@ -64,7 +64,7 @@ The built-in / intrinsics are usually preferable to `falseloc`, unless the acces #### Syntax -`loc = [[falseloc(function)]] (array[, lbound])` +`loc =` [[falseloc(function)]] `(array[, lbound])` #### Class diff --git a/doc/specs/stdlib_ascii.md b/doc/specs/stdlib_ascii.md index 260ff8d50..6a1d997df 100644 --- a/doc/specs/stdlib_ascii.md +++ b/doc/specs/stdlib_ascii.md @@ -34,7 +34,7 @@ Converts input character variable to all lowercase. #### Syntax -`res = [[stdlib_ascii(module):to_lower(function)]] (string)` +`res =` [[stdlib_ascii(module):to_lower(function)]] `(string)` #### Class @@ -66,7 +66,7 @@ Converts input character variable to all uppercase. #### Syntax -`res = [[stdlib_ascii(module):to_upper(function)]] (string)` +`res =` [[stdlib_ascii(module):to_upper(function)]] `(string)` #### Class @@ -103,7 +103,7 @@ or numeral present next to either of its 2 ends. #### Syntax -`res = [[stdlib_ascii(module):to_title(function)]] (string)` +`res =` [[stdlib_ascii(module):to_title(function)]] `(string)` #### Class @@ -138,7 +138,7 @@ transformed to lowercase. #### Syntax -`res = [[stdlib_ascii(module):to_sentence(function)]] (string)` +`res =` [[stdlib_ascii(module):to_sentence(function)]] `(string)` #### Class @@ -170,7 +170,7 @@ Reverses the order of all characters in the input character type. #### Syntax -`res = [[stdlib_ascii(module):reverse(function)]] (string)` +`res =` [[stdlib_ascii(module):reverse(function)]] `(string)` #### Class diff --git a/doc/specs/stdlib_bitsets.md b/doc/specs/stdlib_bitsets.md index 7cbca1175..f1e55aeb1 100644 --- a/doc/specs/stdlib_bitsets.md +++ b/doc/specs/stdlib_bitsets.md @@ -78,13 +78,13 @@ position, that, in turn, is indexed from 0 to `bits-1`. `bitset_type` is used only as a `class` to define entities that can be either a `bitset_64` or a `bitset_large`. The syntax for using the types are: -`class([[stdlib_bitsets(module):bitset_type(type)]]) :: variable` +`class(` [[stdlib_bitsets(module):bitset_type(type)]] `) :: variable` -`type([[stdlib_bitsets(module):bitset_64(type)]]) :: variable` +`type(` [[stdlib_bitsets(module):bitset_64(type)]] `) :: variable` and -`type([[stdlib_bitsets(module):bitset_large(type)]]) :: variable` +`type(` [[stdlib_bitsets(module):bitset_large(type)]] `) :: variable` ## The *bitset-literal* @@ -239,7 +239,7 @@ Determines whether all bits are set to 1 in `self`. #### Syntax -`result = self % [[bitset_type(type):all(bound)]]()` +`result = self % ` [[bitset_type(type):all(bound)]] `()` #### Class @@ -276,7 +276,7 @@ number of bits, otherwise the result is undefined. #### Syntax -`call [[stdlib_bitsets(module):and(interface)]](set1, set2)` +`call ` [[stdlib_bitsets(module):and(interface)]] `(set1, set2)` #### Class @@ -314,7 +314,7 @@ result is undefined. #### Syntax -`call [[stdlib_bitsets(module):and_not(interface)]](set1, set2)` +`call ` [[stdlib_bitsets(module):and_not(interface)]] `(set1, set2)` #### Class @@ -349,7 +349,7 @@ Determines whether any bits are set in `self`. #### Syntax -`result = self % [[bitset_type(type):any(bound)]]()` +`result = self % ` [[bitset_type(type):any(bound)]] `()` #### Class @@ -383,7 +383,7 @@ Returns the number of bits that are set to one in `self`. #### Syntax -`result = self % [[bitset_type(type):bit_count(bound)]] ()` +`result = self % ` [[bitset_type(type):bit_count(bound)]] ` ()` #### Class @@ -417,7 +417,7 @@ Reports the number of bits in `self`. #### Syntax -`result = self % [[bitset_type(type):bits(bound)]] ()` +`result = self % ` [[bitset_type(type):bits(bound)]] ` ()` #### Class @@ -460,11 +460,11 @@ Note: Positions outside the range 0 to `bits(set) -1` are ignored. #### Syntax -`call self % [[bitset_type(type):clear(bound)]](pos)` +`call self % ` [[bitset_type(type):clear(bound)]] `(pos)` or -`call self % [[bitset_type(type):clear(bound)]](start_pos, end_pos)` +`call self % ` [[bitset_type(type):clear(bound)]] `(start_pos, end_pos)` #### Class @@ -507,7 +507,7 @@ informative message. #### Syntax -`call [[stdlib_bitsets(module):extract(interface)]](new, old, start_pos, stop_pos, status )` +`call ` [[stdlib_bitsets(module):extract(interface)]] `(new, old, start_pos, stop_pos, status )` #### Class @@ -563,11 +563,11 @@ flip the bit values with positions from `start_pos` to `end_pos` in #### Syntax -`call self % [[bitset_type(type):flip(bound)]] (pos)` +`call self % ` [[bitset_type(type):flip(bound)]] ` (pos)` or -`call self % [[bitset_type(type):flip(bound)]] (start_pos, end_pos)` +`call self % ` [[bitset_type(type):flip(bound)]] ` (start_pos, end_pos)` #### Class @@ -606,7 +606,7 @@ binary literal. #### Syntax -`call self % [[bitset_type(type):from_string(bound)]](string[, status])` +`call self % ` [[bitset_type(type):from_string(bound)]] `(string[, status])` #### Class @@ -655,7 +655,7 @@ Experimental #### Syntax -`call self % [[bitset_type(type):init(bound)]] (bits [, status])` +`call self % ` [[bitset_type(type):init(bound)]] ` (bits [, status])` #### Class @@ -705,7 +705,7 @@ file. #### Syntax -`call self % [[bitset_type(type):input(bound)]] (unit [, status])` +`call self % ` [[bitset_type(type):input(bound)]] ` (unit [, status])` #### Class @@ -757,7 +757,7 @@ Determines whether no bits are set in `self`. #### Syntax -`result = self % [[bitset_type(type):none(bound)]] ()` +`result = self % ` [[bitset_type(type):none(bound)]] ` ()` #### Class @@ -792,7 +792,7 @@ Performs the logical complement on the bits of `self`. #### Syntax -`call self % [[bitset_type(type):not(bound)]] ()` +`call self % ` [[bitset_type(type):not(bound)]] ` ()` #### Class @@ -824,7 +824,7 @@ same number of bits, otherwise the result is undefined. #### Syntax -`call [[stdlib_bitsets(module):or(interface)]](set1, set2)` +`call ` [[stdlib_bitsets(module):or(interface)]] `(set1, set2)` #### Class @@ -859,7 +859,7 @@ Writes a binary representation of a bitset to an unformatted file. #### Syntax -`call self % [[bitset_type(type):output(bound)]] (unit[, status])` +`call self % ` [[bitset_type(type):output(bound)]] ` (unit[, status])` #### Class @@ -904,11 +904,11 @@ value. #### Syntax -`call self % [[bitset_type(type):read_bitset(bound)]](string[, status])` +`call self % ` [[bitset_type(type):read_bitset(bound)]] `(string[, status])` or -`call self % [[bitset_type(type):read_bitset(bound)]](unit[, advance, status])` +`call self % ` [[bitset_type(type):read_bitset(bound)]] `(unit[, advance, status])` #### Class @@ -995,11 +995,11 @@ set the bits at positions from `start_pos` to `end_pos` in `self` to 1. #### Syntax -`call self % [[bitset_type(type):set(bound)]] (POS)` +`call self % ` [[bitset_type(type):set(bound)]] ` (POS)` or -`call self % [[bitset_type(type):set(bound)]] (START_POS, END_POS)` +`call self % ` [[bitset_type(type):set(bound)]] ` (START_POS, END_POS)` #### Class @@ -1038,7 +1038,7 @@ Determine whether the bit at position `pos` is set to 1 in `self`. #### Syntax -`result = self % [[bitset_type(type):test(bound)]](pos)` +`result = self % ` [[bitset_type(type):test(bound)]] `(pos)` #### Class @@ -1077,7 +1077,7 @@ Represents the value of `self` as a binary literal in `string`. #### Syntax -`call self % [[bitset_type(type):to_string(bound)]](string[, status])` +`call self % ` [[bitset_type(type):to_string(bound)]] `(string[, status])` #### Class @@ -1121,7 +1121,7 @@ Determines the value of the bit at position, `pos`, in `self`. #### Syntax -`result = self % [[bitset_type(type):value(bound)]](pos)` +`result = self % ` [[bitset_type(type):value(bound)]] `(pos)` #### Class @@ -1162,11 +1162,11 @@ character string or formatted file. #### Syntax -`call self % [[bitset_type(type):write_bitset(bound)]](string[, status])` +`call self % ` [[bitset_type(type):write_bitset(bound)]] `(string[, status])` or -`call self % [[bitset_type(type):write_bitset(bound)]] (unit[, advance, status])` +`call self % ` [[bitset_type(type):write_bitset(bound)]] ` (unit[, advance, status])` #### Class @@ -1229,7 +1229,7 @@ the samee number of bits, otherwise the result is undefined. #### Syntax -`result = [[stdlib_bitsets(module):xor(interface)]] (set1, set2)` +`result = ` [[stdlib_bitsets(module):xor(interface)]] ` (set1, set2)` #### Class @@ -1267,7 +1267,7 @@ Returns `.true.` if all bits in `set1` and `set2` have the same value, #### Syntax -`result = set1 [[stdlib_bitsets(module):==(interface)]] set2` +`result = set1 ` [[stdlib_bitsets(module):==(interface)]] ` set2` or @@ -1311,7 +1311,7 @@ Returns `.true.` if any bits in `self` and `set2` differ in value, #### Syntax -`result = set1 [[stdlib_bitsets(module):/=(interface)]] set2` +`result = set1 ` [[stdlib_bitsets(module):/=(interface)]] ` set2` or @@ -1357,7 +1357,7 @@ results are undefined. #### Syntax -`result = set1 [[stdlib_bitsets(module):>=(interface)]] set2` +`result = set1 ` [[stdlib_bitsets(module):>=(interface)]] ` set2` or @@ -1404,7 +1404,7 @@ results are undefined. #### Syntax -`result = set1 [[stdlib_bitsets(module):>(interface)]] set2` +`result = set1 ` [[stdlib_bitsets(module):>(interface)]] ` set2` or @@ -1451,7 +1451,7 @@ results are undefined. #### Syntax -`result = set1 [[stdlib_bitsets(module):<=(interface)]] set2` +`result = set1 ` [[stdlib_bitsets(module):<=(interface)]] ` set2` or @@ -1498,7 +1498,7 @@ results are undefined. #### Syntax -`result = set1 [[stdlib_bitsets(module):<(interface)]] set2` +`result = set1 ` [[stdlib_bitsets(module):<(interface)]] ` set2` or diff --git a/doc/specs/stdlib_error.md b/doc/specs/stdlib_error.md index aca862b11..af57d3875 100644 --- a/doc/specs/stdlib_error.md +++ b/doc/specs/stdlib_error.md @@ -25,7 +25,7 @@ Checks the value of a logical condition. #### Syntax -`call [[check(subroutine)]](condition, msg, code, warn)` +`call ` [[check(subroutine)]] `(condition, msg, code, warn)` #### Arguments @@ -77,7 +77,7 @@ Aborts the program with a message and a nonzero exit code. #### Syntax -`call [[stdlib_error(module):error_stop(interface)]](msg, code)` +`call ` [[stdlib_error(module):error_stop(interface)]] `(msg, code)` #### Arguments diff --git a/doc/specs/stdlib_hash_procedures.md b/doc/specs/stdlib_hash_procedures.md index c790b1ef3..64256213e 100644 --- a/doc/specs/stdlib_hash_procedures.md +++ b/doc/specs/stdlib_hash_procedures.md @@ -514,7 +514,7 @@ in mapping hash codes into small arrays. ##### Syntax -`code = [[stdlib_hash_32bit:fibonacci_hash]]( key, nbits )` +`code = ` [[stdlib_hash_32bit:fibonacci_hash]] `( key, nbits )` ##### Class @@ -559,7 +559,7 @@ character string. ##### Syntax -`code = [[stdlib_hash_32bit:fnv_1_hash]]( key )` +`code = ` [[stdlib_hash_32bit:fnv_1_hash]] `( key )` ##### Class @@ -614,7 +614,7 @@ character string. ##### Syntax -`code = [[stdlib_hash_32bit:fnv_1a_hash]]( key )` +`code = ` [[stdlib_hash_32bit:fnv_1a_hash]] `( key )` ##### Class @@ -668,7 +668,7 @@ seed for `nmhash32` and is also different from the input seed. ##### Syntax -`code = call [[stdlib_hash_32bit:new_nmhash32_seed]]( seed )` +`call ` [[stdlib_hash_32bit:new_nmhash32_seed]] `( seed )` ##### Class @@ -706,7 +706,7 @@ seed for `nmhash32x` and is also different from the input seed. ##### Syntax -`code = call [[stdlib_hash_32bit:new_nmhash32x_seed]]( seed )` +`call ` [[stdlib_hash_32bit:new_nmhash32x_seed]] `( seed )` ##### Class @@ -744,7 +744,7 @@ seed for `water_hash` and is also different from the input seed. ##### Syntax -`code = call [[stdlib_hash_32bit:new_water_hash_seed]]( seed )` +`call ` [[stdlib_hash_32bit:new_water_hash_seed]] `( seed )` ##### Class @@ -783,7 +783,7 @@ character string, and the input `seed`. ##### Syntax -`code = [[stdlib_hash_32bit:nmhash32]]( key, seed )` +`code = ` [[stdlib_hash_32bit:nmhash32]] `( key, seed )` ##### Class @@ -835,7 +835,7 @@ character string, and the input `seed`. ##### Syntax -`code = [[stdlib_hash_32bit:nmhash32x]]( key, seed )` +`code = ` [[stdlib_hash_32bit:nmhash32x]] `( key, seed )` ##### Class @@ -885,7 +885,7 @@ Returns a random 32-bit integer distributed uniformly over the odd values. ##### Syntax -`call [[stdlib_hash_32bit:odd_random_integer]]( harvest )` +`call ` [[stdlib_hash_32bit:odd_random_integer]] `( harvest )` ##### Class @@ -921,7 +921,7 @@ in mapping a hash value to a range 0 to `2**nbits-1`. ##### Syntax -`code = [[stdlib_hash_32bit:universal_mult_hash]]( key, seed, nbits )` +`code = ` [[stdlib_hash_32bit:universal_mult_hash]] `( key, seed, nbits )` ##### Class @@ -969,7 +969,7 @@ character string, and the input `seed`. ##### Syntax -`code = [[stdlib_hash_32bit:water_hash]]( key, seed )` +`code = ` [[stdlib_hash_32bit:water_hash]] `( key, seed )` ##### Class @@ -1073,7 +1073,7 @@ in mapping hash codes into small arrays. ##### Syntax -`code = [[stdlib_hash_64bit:fibonacci_hash]]( key, nbits )` +`code = ` [[stdlib_hash_64bit:fibonacci_hash]] `( key, nbits )` ##### Class @@ -1118,7 +1118,7 @@ character string. ##### Syntax -`code = [[stdlib_hash_64bit:fnv_1_hash]]( key )` +`code = ` [[stdlib_hash_64bit:fnv_1_hash]] `( key )` ##### Class @@ -1173,7 +1173,7 @@ character string. ##### Syntax -`code = [[stdlib_hash_64bit:fnv_1a_hash]]( key )` +`code = ` [[stdlib_hash_64bit:fnv_1a_hash]] `( key )` ##### Class @@ -1227,7 +1227,7 @@ seed for `pengy_hash` and is also different from the input seed. ##### Syntax -`code = call [[stdlib_hash_64bit:new_pengy_hash_seed]]( seed )` +`call ` [[stdlib_hash_64bit:new_pengy_hash_seed]] `( seed )` ##### Class @@ -1266,7 +1266,7 @@ from the input seed. ##### Syntax -`code = call [[stdlib_hash_64bit:new_spooky_hash_seed]]( seed )` +`call ` [[stdlib_hash_64bit:new_spooky_hash_seed]] `( seed )` ##### Class @@ -1303,7 +1303,7 @@ Returns a random 64-bit integer distributed uniformly over the odd values. ##### Syntax -`call [[stdlib_hash_64bit:odd_random_integer]]( harvest )` +`call ` [[stdlib_hash_64bit:odd_random_integer]] `( harvest )` ##### Class @@ -1339,7 +1339,7 @@ value also depends on a scalar 32-bit integer, `seed`. ##### Syntax -`code = [[stdlib_hash_64bit:pengy_hash]]( key, seed )` +`code = ` [[stdlib_hash_64bit:pengy_hash]] `( key, seed )` ##### Class @@ -1387,7 +1387,7 @@ value also depends on a two element vector, `seed`. ##### Syntax -`code = [[stdlib_hash_64bit:spooky_hash]]( key, seed )` +`code = ` [[stdlib_hash_64bit:spooky_hash]] `( key, seed )` ##### Class @@ -1436,7 +1436,7 @@ in mapping a hash value to a range 0 to `2**nbits-1`. ##### Syntax -`code = [[stdlib_hash_64bit:universal_mult_hash]]( key, seed, nbits )` +`code = ` [[stdlib_hash_64bit:universal_mult_hash]] `( key, seed, nbits )` ##### Class diff --git a/doc/specs/stdlib_hashmaps.md b/doc/specs/stdlib_hashmaps.md index ea541d780..cb62e81ee 100644 --- a/doc/specs/stdlib_hashmaps.md +++ b/doc/specs/stdlib_hashmaps.md @@ -210,7 +210,7 @@ Returns a copy of an input of type `key_type`. ##### Syntax -`call [[stdlib_hashmap_wrappers:copy_key]]( old_key, new_key )` +`call ` [[stdlib_hashmap_wrappers:copy_key]] `( old_key, new_key )` ##### Class @@ -242,7 +242,7 @@ Returns a copy of an input of type `other_type`. ##### Syntax -`call [[stdlib_hashmap_wrappers:copy_other]]( other_in, other_out )` +`call ` [[stdlib_hashmap_wrappers:copy_other]] `( other_in, other_out )` ##### Class @@ -289,7 +289,7 @@ Calculates a 32 bit hash code from an input of type `key_type`. ##### Syntax -`code = [[stdlib_hashmap_wrappers:fnv_1_hasher]]( key )` +`code = ` [[stdlib_hashmap_wrappers:fnv_1_hasher]] `( key )` ##### Class @@ -341,7 +341,7 @@ Calculates a 32 bit hash code from an input of type `key_type`. ##### Syntax -`code = [[stdlib_hashmap_wrappers:fnv_1a_hasher]]( key )` +`code = ` [[stdlib_hashmap_wrappers:fnv_1a_hasher]] `( key )` ##### Class @@ -393,7 +393,7 @@ Deallocates the memory associated with a variable of type ##### Syntax -`call [[stdlib_hashmap_wrappers:free_key]]( key )` +`call ` [[stdlib_hashmap_wrappers:free_key]] `( key )` ##### Class @@ -423,7 +423,7 @@ Deallocates the memory associated with a variable of type ##### Syntax -`call [[stdlib_hashmap_wrappers:free_other]]( other )` +`call ` [[stdlib_hashmap_wrappers:free_other]] `( other )` ##### Class @@ -454,11 +454,11 @@ in the variable `value`. ##### Syntax -`call [[stdlib_hashmap_wrappers:get]]( key, value )` +`call ` [[stdlib_hashmap_wrappers:get]] `( key, value )` or -`call [[stdlib_hashmap_wrappers:get]]( other, value )` +`call ` [[stdlib_hashmap_wrappers:get]] `( other, value )` ##### Class @@ -498,7 +498,7 @@ argument of type `key_type` returning an `int32` hash value. ##### Syntax -`type([[stdlib_hashmap_wrappers:hasher_fun]]), pointer :: fun_pointer` +`type(` [[stdlib_hashmap_wrappers:hasher_fun]] `), pointer :: fun_pointer` ##### Class @@ -580,7 +580,7 @@ Calculates a 32 bit hash code from an input of type `key_type`. ##### Syntax -`code = [[stdlib_hashmap_wrappers:seeded_nmhash32_hasher]]( key )` +`code = ` [[stdlib_hashmap_wrappers:seeded_nmhash32_hasher]] `( key )` ##### Class @@ -630,7 +630,7 @@ Calculates a 32 bit hash code from an input of type `key_type`. ##### Syntax -`code = [[stdlib_hashmap_wrappers:seeded_nmhash32x_hasher]]( key )` +`code = ` [[stdlib_hashmap_wrappers:seeded_nmhash32x_hasher]] `( key )` ##### Class @@ -679,7 +679,7 @@ Calculates a 32 bit hash code from an input of type `key_type`. ##### Syntax -`code = [[stdlib_hashmap_wrappers:seeded_water_hasher]]( key )` +`code = ` [[stdlib_hashmap_wrappers:seeded_water_hasher]] `( key )` ##### Class @@ -730,11 +730,11 @@ Places the data from `value` in a `key_type` or an `other_type`. ##### Syntax -`call [[stdlib_hashmap_wrappers:set]]( key, value )` +`call ` [[stdlib_hashmap_wrappers:set]] `( key, value )` or -`call [[stdlib_hashmap_wrappers:set]]( other, value )` +`call ` [[stdlib_hashmap_wrappers:set]] `( other, value )` ##### Class @@ -1196,7 +1196,7 @@ Returns the number of procedure calls on a hash map. ##### Syntax -`value = map % [[hashmap_type(type):calls(bound)]]()` +`value = map % ` [[hashmap_type(type):calls(bound)]] `()` ##### Class @@ -1234,7 +1234,7 @@ Returns the number of entries in a hash map. ##### Syntax -`value = map % [[hashmap_type(type):entries(bound)]]()` +`value = map % ` [[hashmap_type(type):entries(bound)]] `()` ##### Class @@ -1272,7 +1272,7 @@ Returns all the keys contained in a map. ##### Syntax -`call map % [[hashmap_type(type):get_all_keys(bound)]]( all_keys )` +`call map % ` [[hashmap_type(type):get_all_keys(bound)]] `( all_keys )` ##### Class @@ -1307,7 +1307,7 @@ Returns the other data associated with the `key`, ##### Syntax -`value = map % [[hashmap_type(type):get_other_data(bound)]]( key, other [, exists] )` +`value = map % ` [[hashmap_type(type):get_other_data(bound)]] `( key, other [, exists] )` ##### Class @@ -1355,7 +1355,7 @@ Initializes a `hashmap_type` object. ##### Syntax -`call map % [[hashmap_type(type):init(bound)]]( hasher [, slots_bits, status ] )` +`call map % ` [[hashmap_type(type):init(bound)]] `( hasher [, slots_bits, status ] )` ##### Class @@ -1419,7 +1419,7 @@ entry in the map. ##### Syntax -`call map % [[hashmap_type(type):key_test(bound)]]( key, present )` +`call map % ` [[hashmap_type(type):key_test(bound)]] `( key, present )` ##### Class @@ -1461,7 +1461,7 @@ slots in the hash map. ##### Syntax -`value = map % [[hashmap_type(type):loading(bound)]]( )` +`value = map % ` [[hashmap_type(type):loading(bound)]] `( )` ##### Class @@ -1499,7 +1499,7 @@ Inserts an entry into the hash map if it is not already present. ##### Syntax -`call map % [[hashmap_type(type):map_entry(bound)]]( key[, other, conflict ] )` +`call map % ` [[hashmap_type(type):map_entry(bound)]] `( key[, other, conflict ] )` ##### Class @@ -1549,7 +1549,7 @@ Returns the total number of table probes on the hash map. ##### Syntax -`result = map % [[hashmap_type(type):map_probes(bound)]]( )` +`result = map % ` [[hashmap_type(type):map_probes(bound)]] `( )` ##### Class @@ -1588,7 +1588,7 @@ Returns the total number of slots on a hash map ##### Syntax -`result = map % [[hashmap_type(type):num_slots(bound)]]( )` +`result = map % ` [[hashmap_type(type):num_slots(bound)]] `( )` ##### Class @@ -1627,7 +1627,7 @@ Changes the hashing function for the map entries to that of `hasher`. ##### Syntax -`call map % [[hashmap_type(type):rehash(bound)]]( hasher )` +`call map % ` [[hashmap_type(type):rehash(bound)]] `( hasher )` ##### Class @@ -1661,7 +1661,7 @@ Removes an entry from the hash map, `map`. ##### Syntax -`call map % [[hashmap_type(type):remove(bound)]]( key[, existed ])` +`call map % ` [[hashmap_type(type):remove(bound)]] `( key[, existed ])` ##### Class @@ -1703,7 +1703,7 @@ Replaces the other data in the map for the entry with the key value, ##### Syntax -`call map % [[hashmap_type(type):set_other_data(bound)]]( key, other[, exists] )` +`call map % ` [[hashmap_type(type):set_other_data(bound)]] `( key, other[, exists] )` ##### Class @@ -1749,7 +1749,7 @@ Returns the total number of bits used to address the hash map slots. ##### Syntax -`result = map % [[hashmap_type(type):slots_bits(bound)]]( )` +`result = map % ` [[hashmap_type(type):slots_bits(bound)]] `( )` ##### Class @@ -1789,7 +1789,7 @@ their slot index for a hash map ##### Syntax -`result = map % [[hashmap_type:total_depth]]( )` +`result = map % ` [[hashmap_type:total_depth]] `( )` ##### Class diff --git a/doc/specs/stdlib_io.md b/doc/specs/stdlib_io.md index 3ed75d638..e63504623 100644 --- a/doc/specs/stdlib_io.md +++ b/doc/specs/stdlib_io.md @@ -17,7 +17,7 @@ Loads a rank-2 `array` from a text file. ### Syntax -`call [[stdlib_io(module):loadtxt(interface)]](filename, array [, skiprows] [, max_rows])` +`call ` [[stdlib_io(module):loadtxt(interface)]] `(filename, array [, skiprows] [, max_rows])` ### Arguments @@ -52,7 +52,7 @@ Returns the unit number of a file opened to read, to write, or to read and write ### Syntax -`u = [[stdlib_io(module):open(function)]](filename [, mode] [, iostat])` +`u = ` [[stdlib_io(module):open(function)]] `(filename [, mode] [, iostat])` ### Arguments @@ -101,7 +101,7 @@ Saves a rank-2 `array` into a text file. ### Syntax -`call [[stdlib_io(module):savetxt(interface)]](filename, array)` +`call ` [[stdlib_io(module):savetxt(interface)]] `(filename, array)` ### Arguments @@ -132,7 +132,7 @@ Loads an `array` from a npy formatted binary file. ### Syntax -`call [[stdlib_io_npy(module):load_npy(interface)]](filename, array[, iostat][, iomsg])` +`call ` [[stdlib_io_npy(module):load_npy(interface)]] `(filename, array[, iostat][, iomsg])` ### Arguments @@ -173,7 +173,7 @@ Saves an `array` into a npy formatted binary file. ### Syntax -`call [[stdlib_io_npy(module):save_npy(interface)]](filename, array[, iostat][, iomsg])` +`call ` [[stdlib_io_npy(module):save_npy(interface)]] `(filename, array[, iostat][, iomsg])` ### Arguments @@ -213,8 +213,9 @@ Read a whole line from a formatted unit into a string variable ### Syntax -`call [[stdlib_io(module):getline(interface)]] (unit, line[, iostat][, iomsg])` -`call [[stdlib_io(module):getline(interface)]] (line[, iostat][, iomsg])` +`call ` [[stdlib_io(module):getline(interface)]] ` (unit, line[, iostat][, iomsg])` + +`call ` [[stdlib_io(module):getline(interface)]] ` (line[, iostat][, iomsg])` ### Arguments diff --git a/doc/specs/stdlib_linalg.md b/doc/specs/stdlib_linalg.md index 912cd4828..ab52dfb71 100644 --- a/doc/specs/stdlib_linalg.md +++ b/doc/specs/stdlib_linalg.md @@ -188,7 +188,7 @@ Create a diagonal array or extract the diagonal elements of an array ### Syntax -`d = [[stdlib_linalg(module):diag(interface)]](a [, k])` +`d = ` [[stdlib_linalg(module):diag(interface)]] `(a [, k])` ### Arguments @@ -238,7 +238,7 @@ Construct the identity matrix. ### Syntax -`I = [[stdlib_linalg(module):eye(function)]](dim1 [, dim2])` +`I = ` [[stdlib_linalg(module):eye(function)]] `(dim1 [, dim2])` ### Arguments @@ -285,7 +285,7 @@ Trace of a matrix (rank-2 array) ### Syntax -`result = [[stdlib_linalg(module):trace(interface)]](A)` +`result = ` [[stdlib_linalg(module):trace(interface)]] `(A)` ### Arguments @@ -312,7 +312,7 @@ Computes the outer product of two vectors ### Syntax -`d = [[stdlib_linalg(module):outer_product(interface)]](u, v)` +`d = ` [[stdlib_linalg(module):outer_product(interface)]] `(u, v)` ### Arguments @@ -342,7 +342,7 @@ Computes the Kronecker product of two rank-2 arrays ### Syntax -`C = [[stdlib_linalg(module):kronecker_product(interface)]](A, B)` +`C = ` [[stdlib_linalg(module):kronecker_product(interface)]] `(A, B)` ### Arguments @@ -373,7 +373,7 @@ Computes the cross product of two vectors ### Syntax -`c = [[stdlib_linalg(module):cross_product(interface)]](a, b)` +`c = ` [[stdlib_linalg(module):cross_product(interface)]] `(a, b)` ### Arguments @@ -403,7 +403,7 @@ Checks if a matrix is square ### Syntax -`d = [[stdlib_linalg(module):is_square(interface)]](A)` +`d = ` [[stdlib_linalg(module):is_square(interface)]] `(A)` ### Arguments @@ -431,7 +431,7 @@ Checks if a matrix is diagonal ### Syntax -`d = [[stdlib_linalg(module):is_diagonal(interface)]](A)` +`d = ` [[stdlib_linalg(module):is_diagonal(interface)]] `(A)` ### Arguments @@ -460,7 +460,7 @@ Checks if a matrix is symmetric ### Syntax -`d = [[stdlib_linalg(module):is_symmetric(interface)]](A)` +`d = ` [[stdlib_linalg(module):is_symmetric(interface)]] `(A)` ### Arguments @@ -488,7 +488,7 @@ Checks if a matrix is skew-symmetric ### Syntax -`d = [[stdlib_linalg(module):is_skew_symmetric(interface)]](A)` +`d = ` [[stdlib_linalg(module):is_skew_symmetric(interface)]] `(A)` ### Arguments @@ -516,7 +516,7 @@ Checks if a matrix is Hermitian ### Syntax -`d = [[stdlib_linalg(module):is_hermitian(interface)]](A)` +`d = ` [[stdlib_linalg(module):is_hermitian(interface)]] `(A)` ### Arguments @@ -544,7 +544,7 @@ Checks if a matrix is triangular ### Syntax -`d = [[stdlib_linalg(module):is_triangular(interface)]](A,uplo)` +`d = ` [[stdlib_linalg(module):is_triangular(interface)]] `(A,uplo)` ### Arguments @@ -576,7 +576,7 @@ Checks if a matrix is Hessenberg ### Syntax -`d = [[stdlib_linalg(module):is_hessenberg(interface)]](A,uplo)` +`d = ` [[stdlib_linalg(module):is_hessenberg(interface)]] `(A,uplo)` ### Arguments diff --git a/doc/specs/stdlib_logger.md b/doc/specs/stdlib_logger.md index 7e6cf6c8e..e681824a8 100644 --- a/doc/specs/stdlib_logger.md +++ b/doc/specs/stdlib_logger.md @@ -90,7 +90,7 @@ significant events encountered during the execution of a program. ### Syntax -`type([[stdlib_logger(module):logger_type(type)]]) :: variable` +`type(` [[stdlib_logger(module):logger_type(type)]] `) :: variable` ### Private attributes @@ -150,7 +150,7 @@ Opens a formatted, sequential access, output file, `filename` using #### Syntax -`call self % [[logger_type(type):add_log_file(bound)]]( filename [, unit, action, position, status, stat ] )` +`call self % ` [[logger_type(type):add_log_file(bound)]] `( filename [, unit, action, position, status, stat ] )` #### Class @@ -216,7 +216,7 @@ the stop code. #### Syntax -`call self % [[logger_type(type):add_log_unit(bound)]]( unit [, stat ] )` +`call self % ` [[logger_type(type):add_log_unit(bound)]] `( unit [, stat ] )` #### Class. @@ -266,7 +266,7 @@ Reports the configuration of a logger. #### Syntax -`call self % [[logger_type(type):configuration(bound)]]( [ add_blankline, indent, level, max_width, time_stamp, log_units ] )` +`call self % ` [[logger_type(type):configuration(bound)]] `( [ add_blankline, indent, level, max_width, time_stamp, log_units ] )` #### Class @@ -341,7 +341,7 @@ Configures the logging process for self. #### Syntax -`call self % [[logger_type(type):configure(bound)]]( [ add_blank_line, indent, level, max_width, time_stamp ] )` +`call self % ` [[logger_type(type):configure(bound)]] `( [ add_blank_line, indent, level, max_width, time_stamp ] )` #### Class @@ -393,7 +393,7 @@ Writes the string `message` to `self % log_units` with optional additional text. #### Syntax -`call self % [[logger_type(type):log_debug(bound)]]( message [, module, procedure ] )` +`call self % ` [[logger_type(type):log_debug(bound)]] `( message [, module, procedure ] )` #### Behavior @@ -464,7 +464,7 @@ Writes the string `message` to `self % log_units` with optional additional text. #### Syntax -`call self % [[logger_type(type):log_error(bound)]]( message [, module, procedure, stat, errmsg ] )` +`call self % ` [[logger_type(type):log_error(bound)]] `( message [, module, procedure, stat, errmsg ] )` #### Behavior @@ -550,7 +550,7 @@ Writes the string `message` to `self % log_units` with optional additional text. #### Syntax -`call self % [[logger_type(type):log_information(bound)]]( message [, module, procedure ] )` +`call self % ` [[logger_type(type):log_information(bound)]] `( message [, module, procedure ] )` #### Behavior @@ -632,7 +632,7 @@ It is ignored if the `level` of `self` is higher than `io_error_level`. #### Syntax -`call self % [[logger_type(type):log_io_error(bound)]]( message [, module, procedure, iostat, iomsg ] )` +`call self % ` [[logger_type(type):log_io_error(bound)]] `( message [, module, procedure, iostat, iomsg ] )` #### Class @@ -692,7 +692,7 @@ No severity level is applied to `log_message`. #### Syntax -`call self % [[logger_type(type):log_message(bound)]]( message [, module, procedure, prefix ] )` +`call self % ` [[logger_type(type):log_message(bound)]] `( message [, module, procedure, prefix ] )` #### Class @@ -770,7 +770,7 @@ It is ignored if the `level` of `self` is higher than `text_error_level`. #### Syntax -`call self % [[logger_type(type):log_text_error(bound)]]( line, column, summary [, filename, line_number, caret, stat ] )` +`call self % ` [[logger_type(type):log_text_error(bound)]] `( line, column, summary [, filename, line_number, caret, stat ] )` #### Class @@ -832,7 +832,7 @@ Returns the number of active I/O units in `self % log_units` #### Syntax -`result = self % [[logger_type(type):log_units_assigned(bound)]]()` +`result = self % ` [[logger_type(type):log_units_assigned(bound)]] `()` #### Class @@ -893,7 +893,7 @@ then `module` and `procedure` if present, then #### Syntax -`call self % [[logger_type(type):log_warning(bound)]]( message [, module, procedure ] )` +`call self % ` [[logger_type(type):log_warning(bound)]] `( message [, module, procedure ] )` #### Class @@ -958,7 +958,7 @@ closed. If `unit` is not in `self % log_units` then nothing is done. #### Syntax -`call self % [[logger_type(type):remove_log_unit(bound)]]( unit [, close_unit, stat ] )` +`call self % ` [[logger_type(type):remove_log_unit(bound)]] `( unit [, close_unit, stat ] )` #### Class diff --git a/doc/specs/stdlib_math.md b/doc/specs/stdlib_math.md index cd31c8ca8..dcc014b8a 100644 --- a/doc/specs/stdlib_math.md +++ b/doc/specs/stdlib_math.md @@ -23,7 +23,7 @@ Returns a value which lies in the given interval [`xmin`, `xmax`] (interval is ` #### Syntax -`res = [[stdlib_math(module):clip(interface)]] (x, xmin, xmax)` +`res = ` [[stdlib_math(module):clip(interface)]] ` (x, xmin, xmax)` #### Status @@ -69,7 +69,7 @@ Returns the greatest common divisor of two integers. #### Syntax -`res = [[stdlib_math(module):gcd(interface)]] (a, b)` +`res = ` [[stdlib_math(module):gcd(interface)]] ` (a, b)` #### Status @@ -106,7 +106,7 @@ Returns a linearly spaced rank 1 array from [`start`, `end`]. Optionally, you ca #### Syntax -`res = [[stdlib_math(module):linspace(interface)]] (start, end [, n])` +`res = ` [[stdlib_math(module):linspace(interface)]] ` (start, end [, n])` #### Status @@ -156,7 +156,7 @@ Returns a logarithmically spaced rank 1 array from [`base`^`start`, `base`^`end` #### Syntax -`res = [[stdlib_math(module):logspace(interface)]] (start, end [, n [, base]])` +`res = ` [[stdlib_math(module):logspace(interface)]] ` (start, end [, n [, base]])` #### Status @@ -239,7 +239,7 @@ Creates a rank-1 `array` of the `integer/real` type with fixed-spaced values of #### Syntax -`result = [[stdlib_math(module):arange(interface)]](start [, end, step])` +`result = ` [[stdlib_math(module):arange(interface)]] `(start [, end, step])` #### Arguments @@ -291,7 +291,7 @@ The angles in `θ` are such that `z = abs(z)*exp((0.0, θ))`. #### Syntax -`result = [[stdlib_math(module):arg(interface)]](z)` +`result = ` [[stdlib_math(module):arg(interface)]] `(z)` #### Arguments @@ -327,7 +327,7 @@ The angles in `θ` are such that `z = abs(z)*exp((0.0, θ*π/180.0))`. #### Syntax -`result = [[stdlib_math(module):argd(interface)]](z)` +`result = ` [[stdlib_math(module):argd(interface)]] `(z)` #### Arguments @@ -363,7 +363,7 @@ The angles in `θ` are such that `z = abs(z)*exp((0.0, θ*π))`. #### Syntax -`result = [[stdlib_math(module):argpi(interface)]](z)` +`result = ` [[stdlib_math(module):argpi(interface)]] `(z)` #### Arguments @@ -399,7 +399,7 @@ is_close(a, b, rel_tol, abs_tol) = is_close(a%re, b%re, rel_tol, abs_tol) .and. #### Syntax -`bool = [[stdlib_math(module):is_close(interface)]] (a, b [, rel_tol, abs_tol, equal_nan])` +`bool = ` [[stdlib_math(module):is_close(interface)]] ` (a, b [, rel_tol, abs_tol, equal_nan])` #### Status @@ -450,7 +450,7 @@ Returns a boolean scalar where two arrays are element-wise equal within a tolera #### Syntax -`bool = [[stdlib_math(module):all_close(interface)]] (a, b [, rel_tol, abs_tol, equal_nan])` +`bool = ` [[stdlib_math(module):all_close(interface)]] ` (a, b [, rel_tol, abs_tol, equal_nan])` #### Status @@ -502,10 +502,10 @@ Computes differences between adjacent elements of an array. #### Syntax For a rank-1 array: -`y = [[stdlib_math(module):diff(interface)]](x [, n, prepend, append])` +`y = ` [[stdlib_math(module):diff(interface)]] `(x [, n, prepend, append])` and for a rank-2 array: -`y = [[stdlib_math(module):diff(interface)]](x [, n, dim, prepend, append])` +`y = ` [[stdlib_math(module):diff(interface)]] `(x [, n, dim, prepend, append])` #### Status @@ -568,13 +568,13 @@ For $n \geq 1$ coordinate vectors $(x_1, x_2, ..., x_n)$ of sizes $(s_1, s_2, .. #### Syntax For a 2D problem in Cartesian indexing: -`call [[stdlib_math(module):meshgrid(interface)]](x, y, xm, ym)` +`call ` [[stdlib_math(module):meshgrid(interface)]] `(x, y, xm, ym)` For a 3D problem in Cartesian indexing: -`call [[stdlib_math(module):meshgrid(interface)]](x, y, z, xm, ym, zm)` +`call ` [[stdlib_math(module):meshgrid(interface)]] `(x, y, z, xm, ym, zm)` For a 3D problem in matrix indexing: -`call [[stdlib_math(module):meshgrid(interface)]](x, y, z, xm, ym, zm, indexing="ij")` +`call ` [[stdlib_math(module):meshgrid(interface)]] `(x, y, z, xm, ym, zm, indexing="ij")` The subroutine can be called in `n`-dimensional situations, as long as `n` is inferior to the maximum allowed array rank. @@ -609,4 +609,4 @@ This argument is `intent(in)` and `optional`, and is equal to `stdlib_meshgrid_x ```fortran {!example/math/example_meshgrid.f90!} -``` \ No newline at end of file +``` diff --git a/doc/specs/stdlib_optval.md b/doc/specs/stdlib_optval.md index 95e3972a0..2cf7b6ef6 100644 --- a/doc/specs/stdlib_optval.md +++ b/doc/specs/stdlib_optval.md @@ -20,7 +20,7 @@ This function is intended to be called in a procedure with one or more `optional ### Syntax -`result = [[stdlib_optval(module):optval(interface)]](x, default)` +`result = ` [[stdlib_optval(module):optval(interface)]] `(x, default)` ### Arguments diff --git a/doc/specs/stdlib_quadrature.md b/doc/specs/stdlib_quadrature.md index a582bd42a..a1b835fa9 100644 --- a/doc/specs/stdlib_quadrature.md +++ b/doc/specs/stdlib_quadrature.md @@ -18,9 +18,9 @@ Returns the trapezoidal rule integral of an array `y` representing discrete samp ### Syntax -`result = [[stdlib_quadrature(module):trapz(interface)]](y, x)` +`result = ` [[stdlib_quadrature(module):trapz(interface)]] `(y, x)` -`result = [[stdlib_quadrature(module):trapz(interface)]](y, dx)` +`result = ` [[stdlib_quadrature(module):trapz(interface)]] `(y, dx)` ### Arguments @@ -54,7 +54,7 @@ Given an array of abscissas `x`, computes the array of weights `w` such that if ### Syntax -`result = [[stdlib_quadrature(module):trapz_weights(interface)]](x)` +`result = ` [[stdlib_quadrature(module):trapz_weights(interface)]] `(x)` ### Arguments @@ -86,9 +86,9 @@ Simpson's ordinary ("1/3") rule is used for odd-length arrays. For even-length a ### Syntax -`result = [[stdlib_quadrature(module):simps(interface)]](y, x [, even])` +`result = ` [[stdlib_quadrature(module):simps(interface)]] `(y, x [, even])` -`result = [[stdlib_quadrature(module):simps(interface)]](y, dx [, even])` +`result = ` [[stdlib_quadrature(module):simps(interface)]] `(y, dx [, even])` ### Arguments @@ -128,7 +128,7 @@ Simpson's ordinary ("1/3") rule is used for odd-length arrays. For even-length a ### Syntax -`result = [[stdlib_quadrature(module):simps_weights(interface)]](x [, even])` +`result = ` [[stdlib_quadrature(module):simps_weights(interface)]] `(x [, even])` ### Arguments @@ -169,7 +169,7 @@ Accuracy has been validated up to N=64 by comparing computed results to tablulat ### Syntax -`subroutine [[stdlib_quadrature(module):gauss_legendre(interface)]] (x, w[, interval])` +`subroutine ` [[stdlib_quadrature(module):gauss_legendre(interface)]] ` (x, w[, interval])` ### Arguments @@ -207,7 +207,7 @@ Accuracy has been validated up to N=64 by comparing computed results to tablulat ### Syntax -`subroutine [[stdlib_quadrature(module):gauss_legendre_lobatto(interface)]] (x, w[, interval])` +`subroutine ` [[stdlib_quadrature(module):gauss_legendre_lobatto(interface)]] ` (x, w[, interval])` ### Arguments diff --git a/doc/specs/stdlib_random.md b/doc/specs/stdlib_random.md index 0bc72415a..b35c0cd45 100644 --- a/doc/specs/stdlib_random.md +++ b/doc/specs/stdlib_random.md @@ -18,7 +18,7 @@ Set or get the seed value before calling the probability distribution pseudorand ### Syntax -`call [[stdlib_random(module):random_seed(interface)]](put, get)` +`call ` [[stdlib_random(module):random_seed(interface)]] `(put, get)` ### Arguments @@ -48,7 +48,7 @@ Generate an integer pseudorandom number in a specific range [-2^k, 2^k - 1] acco ### Syntax -`result = [[stdlib_random(module):dist_rand(interface)]](n)` +`result = ` [[stdlib_random(module):dist_rand(interface)]] `(n)` ### Arguments diff --git a/doc/specs/stdlib_selection.md b/doc/specs/stdlib_selection.md index 9f2772f2b..1c018b75e 100644 --- a/doc/specs/stdlib_selection.md +++ b/doc/specs/stdlib_selection.md @@ -10,9 +10,9 @@ title: selection Suppose you wish to find the value of the k-th smallest entry in an array of size N, or the index of that value. While it could be done by sorting the whole array -using `[[stdlib_sorting(module):sort(interface)]]` or -`[[stdlib_sorting(module):sort_index(interface)]]` from -`[[stdlib_sorting(module)]]` and then finding the k-th entry, that would +using [[stdlib_sorting(module):sort(interface)]] or +[[stdlib_sorting(module):sort_index(interface)]] from +[[stdlib_sorting(module)]] and then finding the k-th entry, that would require O(N x LOG(N)) time. However selection of a single entry can be done in O(N) time, which is much faster for large arrays. This is useful, for example, to quickly find the median of an array, or some other percentile. @@ -56,7 +56,7 @@ such that `all(array(1:k) <= array(k))` and `all(array(k) <= array((k+1):size(a ### Syntax -`call [[stdlib_selection(module):select(interface)]]( array, k, kth_smallest [, left, right ] )` +`call ` [[stdlib_selection(module):select(interface)]] `( array, k, kth_smallest [, left, right ] )` ### Class @@ -124,7 +124,7 @@ the index-array `indx(:)` such that `all(array(indx(1:k)) <= array(indx(k)))` a ### Syntax -`call [[stdlib_selection(module):arg_select(interface)]]( array, indx, k, kth_smallest [, left, right ] )` +`call ` [[stdlib_selection(module):arg_select(interface)]] `( array, indx, k, kth_smallest [, left, right ] )` ### Class diff --git a/doc/specs/stdlib_sorting.md b/doc/specs/stdlib_sorting.md index 4de232dd4..04720a480 100644 --- a/doc/specs/stdlib_sorting.md +++ b/doc/specs/stdlib_sorting.md @@ -226,7 +226,7 @@ increasing, or decreasing, value. ##### Syntax -`call [[stdlib_sorting(module):ord_sort(interface)]]( array[, work, reverse ] )` +`call ` [[stdlib_sorting(module):ord_sort(interface)]] `( array[, work, reverse ] )` ##### Class @@ -293,7 +293,7 @@ decreasing, value. ##### Syntax -`call [[stdlib_sorting(module):sort(interface)]]( array[, reverse] )` +`call ` [[stdlib_sorting(module):sort(interface)]] `( array[, reverse] )` ##### Class @@ -348,7 +348,7 @@ decreasing, value. ##### Syntax -`call [[stdlib_sorting(module):radix_sort(interface)]]( array[, work, reverse] )` +`call ` [[stdlib_sorting(module):radix_sort(interface)]] `( array[, work, reverse] )` ##### Class @@ -398,7 +398,7 @@ sort the input `array` to produce the output `array`. ##### Syntax -`call [[stdlib_sorting(module):sort_index(interface)]]( array, index[, work, iwork, reverse ] )` +`call ` [[stdlib_sorting(module):sort_index(interface)]] `( array, index[, work, iwork, reverse ] )` ##### Class diff --git a/doc/specs/stdlib_specialfunctions.md b/doc/specs/stdlib_specialfunctions.md index 15f27577c..d3153d91a 100644 --- a/doc/specs/stdlib_specialfunctions.md +++ b/doc/specs/stdlib_specialfunctions.md @@ -21,7 +21,7 @@ This is an `elemental` function. ### Syntax -`result = [[stdlib_specialfunctions(module):legendre(interface)]] (n, x)` +`result = ` [[stdlib_specialfunctions(module):legendre(interface)]] ` (n, x)` ### Arguments @@ -50,7 +50,7 @@ This is an `elemental` function. ### Syntax -`result = [[stdlib_specialfunctions(module):dlegendre(interface)]] (n, x)` +`result = ` [[stdlib_specialfunctions(module):dlegendre(interface)]] ` (n, x)` ### Arguments diff --git a/doc/specs/stdlib_specialfunctions_gamma.md b/doc/specs/stdlib_specialfunctions_gamma.md index 7e83da715..aa4da3c01 100644 --- a/doc/specs/stdlib_specialfunctions_gamma.md +++ b/doc/specs/stdlib_specialfunctions_gamma.md @@ -16,13 +16,13 @@ Experimental The gamma function is defined as the analytic continuation of a convergent improper integral function on the whole complex plane except zero and negative integers: -\Gamma(z)=\int_{0}^{\infty}x^{z-1}e^{-x}dx, \;\; z\in \mathbb{C} \setminus 0, -1, -2, \cdots +$$\Gamma(z)=\int_{0}^{\infty}x^{z-1}e^{-x}dx, \;\; z\in \mathbb{C} \setminus 0, -1, -2, \cdots$$ Fortran 2018 standard implements the intrinsic gamma function of real type argument in single and double precisions. Here the gamma function is extended to both integer and complex arguments. The values of the gamma function with integer arguments are exact. The values of the gamma function with complex arguments are approximated in single and double precisions by using Lanczos approximation. ### Syntax -`result = [[stdlib_specialfunctions_gamma(module):gamma(interface)]] (x)` +`result = ` [[stdlib_specialfunctions_gamma(module):gamma(interface)]] ` (x)` ### Class @@ -55,7 +55,7 @@ Fortran 2018 standard implements intrinsic log_gamma function of absolute value ### Syntax -`result = [[stdlib_specialfunctions_gamma(module):log_gamma(interface)]] (x)` +`result = ` [[stdlib_specialfunctions_gamma(module):log_gamma(interface)]] ` (x)` ### Class @@ -87,7 +87,7 @@ Compute the natural logarithm of factorial, log(n!) ### Syntax -`result = [[stdlib_specialfunctions_gamma(module):log_factorial(interface)]] (x)` +`result = ` [[stdlib_specialfunctions_gamma(module):log_factorial(interface)]] ` (x)` ### Class @@ -116,13 +116,13 @@ Experimental The lower incomplete gamma function is defined as: -\gamma(p,x)=\int_{0}^{x}t^{p-1}e^{-t}dt, \;\; p > 0, x\in \mathbb{R} +$$\gamma(p,x)=\int_{0}^{x}t^{p-1}e^{-t}dt, \;\; p > 0, x\in \mathbb{R}$$ When x < 0, p must be positive integer. ### Syntax -`result = [[stdlib_specialfunctions_gamma(module):lower_incomplete_gamma(interface)]] (p, x)` +`result = ` [[stdlib_specialfunctions_gamma(module):lower_incomplete_gamma(interface)]] ` (p, x)` ### Class @@ -153,13 +153,13 @@ Experimental The upper incomplete gamma function is defined as: -\Gamma (p, x) = \int_{x}^{\infty }t^{p-1}e^{-t}dt, \; \; p >0,\; x \in \mathbb{R} +$$\Gamma (p, x) = \int_{x}^{\infty }t^{p-1}e^{-t}dt, \; \; p >0,\; x \in \mathbb{R}$$ When x < 0, p must be a positive integer. ### Syntax -`result = [[stdlib_specialfunctions_gamma(module):upper_incomplete_gamma(interface)]] (p, x)` +`result = ` [[stdlib_specialfunctions_gamma(module):upper_incomplete_gamma(interface)]] ` (p, x)` ### Class @@ -192,7 +192,7 @@ Compute the natural logarithm of the absolute value of the lower incomplete gamm ### Syntax -`result = [[stdlib_specialfunctions_gamma(module):log_lower_incomplete_gamma(interface)]] (p, x)` +`result = ` [[stdlib_specialfunctions_gamma(module):log_lower_incomplete_gamma(interface)]] ` (p, x)` ### Class @@ -221,7 +221,7 @@ Compute the natural logarithm of the absolute value of the upper incomplete gamm ### Syntax -`result = [[stdlib_specialfunctions_gamma(module):log_upper_incomplete_gamma(interface)]] (p, x)` +`result = ` [[stdlib_specialfunctions_gamma(module):log_upper_incomplete_gamma(interface)]] ` (p, x)` ### Class @@ -248,13 +248,13 @@ Experimental The regularized gamma quotient P, also known as normalized incomplete gamma function, is defined as: -P(p,x)=\gamma(p,x)/\Gamma(p) +$$P(p,x)=\gamma(p,x)/\Gamma(p)$$ The values of regularized gamma P is in the range of [0, 1] ### Syntax -`result = [[stdlib_specialfunctions_gamma(module):regularized_gamma_p(interface)]] (p, x)` +`result = ` [[stdlib_specialfunctions_gamma(module):regularized_gamma_p(interface)]] ` (p, x)` ### Class @@ -285,13 +285,13 @@ Experimental The regularized gamma quotient Q is defined as: -Q(p,x)=\Gamma(p,x)/\Gamma(p)=1-P(p,x) +$$Q(p,x)=\Gamma(p,x)/\Gamma(p)=1-P(p,x)$$ The values of regularized gamma Q is in the range of [0, 1] ### Syntax -`result = [[stdlib_specialfunctions_gamma(module):regularized_gamma_q(interface)]] (p, x)` +`result = ` [[stdlib_specialfunctions_gamma(module):regularized_gamma_q(interface)]] ` (p, x)` ### Class diff --git a/doc/specs/stdlib_stats.md b/doc/specs/stdlib_stats.md index c79f218fd..dbad5567e 100644 --- a/doc/specs/stdlib_stats.md +++ b/doc/specs/stdlib_stats.md @@ -24,7 +24,7 @@ The Pearson correlation between two rows (or columns), say `x` and `y`, of `arra ### Syntax -`result = [[stdlib_stats(module):corr(interface)]](array, dim [, mask])` +`result = ` [[stdlib_stats(module):corr(interface)]] `(array, dim [, mask])` ### Class @@ -78,7 +78,7 @@ The scaling can be changed with the logical argument `corrected`. If `corrected` ### Syntax -`result = [[stdlib_stats(module):cov(interface)]](array, dim [, mask [, corrected]])` +`result = ` [[stdlib_stats(module):cov(interface)]] `(array, dim [, mask [, corrected]])` ### Class @@ -123,9 +123,9 @@ Returns the mean of all the elements of `array`, or of the elements of `array` a ### Syntax -`result = [[stdlib_stats(module):mean(interface)]](array [, mask])` +`result = ` [[stdlib_stats(module):mean(interface)]] `(array [, mask])` -`result = [[stdlib_stats(module):mean(interface)]](array, dim [, mask])` +`result = ` [[stdlib_stats(module):mean(interface)]] `(array, dim [, mask])` ### Class @@ -181,14 +181,14 @@ median(array) = mean( array_sorted( floor( (n + 1) / 2.):floor( (n + 1) / 2.) + ``` The current implementation relies on a selection algorithm applied on a copy of -the whole array, using the subroutine `[[stdlib_selection(module):select(interface)]]` -provided by the `[[stdlib_selection(module)]]` module. +the whole array, using the subroutine [[stdlib_selection(module):select(interface)]] +provided by the [[stdlib_selection(module)]] module. ### Syntax -`result = [[stdlib_stats(module):median(interface)]](array [, mask])` +`result = ` [[stdlib_stats(module):median(interface)]] `(array [, mask])` -`result = [[stdlib_stats(module):median(interface)]](array, dim [, mask])` +`result = ` [[stdlib_stats(module):median(interface)]] `(array, dim [, mask])` ### Class @@ -248,9 +248,9 @@ The _k_-th order moment about `center` is defined as : ### Syntax -`result = [[stdlib_stats(module):moment(interface)]](array, order [, center [, mask]])` +`result = ` [[stdlib_stats(module):moment(interface)]] `(array, order [, center [, mask]])` -`result = [[stdlib_stats(module):moment(interface)]](array, order, dim [, center [, mask]])` +`result = ` [[stdlib_stats(module):moment(interface)]] `(array, order, dim [, center [, mask]])` ### Class @@ -306,9 +306,9 @@ The use of the term `n-1` for scaling is called Bessel 's correction. The scalin ### Syntax -`result = [[stdlib_stats(module):var(interface)]](array [, mask [, corrected]])` +`result = ` [[stdlib_stats(module):var(interface)]] `(array [, mask [, corrected]])` -`result = [[stdlib_stats(module):var(interface)]](array, dim [, mask [, corrected]])` +`result = ` [[stdlib_stats(module):var(interface)]] `(array, dim [, mask [, corrected]])` ### Class diff --git a/doc/specs/stdlib_stats_distribution_exponential.md b/doc/specs/stdlib_stats_distribution_exponential.md index f311dd825..b11ca6a6c 100644 --- a/doc/specs/stdlib_stats_distribution_exponential.md +++ b/doc/specs/stdlib_stats_distribution_exponential.md @@ -29,7 +29,7 @@ The algorithm used for generating exponential random variates is fundamentally l ### Syntax -`result = [[stdlib_stats_distribution_exponential(module):rvs_exp(interface)]]([lambda] [[, array_size]])` +`result = ` [[stdlib_stats_distribution_exponential(module):rvs_exp(interface)]] `([lambda] [[, array_size]])` ### Class @@ -71,7 +71,7 @@ $$f(x+\mathit{i}y)=f(x)f(y)=\begin{cases} \lambda_{x} \lambda_{y} e^{-(\lambda_{ ### Syntax -`result = [[stdlib_stats_distribution_exponential(module):pdf_exp(interface)]](x, lambda)` +`result = ` [[stdlib_stats_distribution_exponential(module):pdf_exp(interface)]] `(x, lambda)` ### Class @@ -114,7 +114,7 @@ $$F(x+\mathit{i}y)=F(x)F(y)=\begin{cases} (1 - e^{-\lambda_{x} x})(1 - e^{-\lamb ### Syntax -`result = [[stdlib_stats_distribution_exponential(module):cdf_exp(interface)]](x, lambda)` +`result = ` [[stdlib_stats_distribution_exponential(module):cdf_exp(interface)]] `(x, lambda)` ### Class diff --git a/doc/specs/stdlib_stats_distribution_normal.md b/doc/specs/stdlib_stats_distribution_normal.md index 762957875..db32a3b60 100644 --- a/doc/specs/stdlib_stats_distribution_normal.md +++ b/doc/specs/stdlib_stats_distribution_normal.md @@ -28,7 +28,7 @@ The algorithm used for generating exponential random variates is fundamentally l ### Syntax -`result = [[stdlib_stats_distribution_normal(module):rvs_normal(interface)]]([loc, scale] [[, array_size]])` +`result = ` [[stdlib_stats_distribution_normal(module):rvs_normal(interface)]] `([loc, scale] [[, array_size]])` ### Class @@ -72,7 +72,7 @@ $$f(x + y \mathit{i}) = f(x) f(y) = \frac{1}{2\sigma_{x}\sigma_{y}} \exp{\left[- ### Syntax -`result = [[stdlib_stats_distribution_normal(module):pdf_normal(interface)]](x, loc, scale)` +`result = ` [[stdlib_stats_distribution_normal(module):pdf_normal(interface)]] `(x, loc, scale)` ### Class @@ -118,7 +118,7 @@ $$ F(x+y\mathit{i})=F(x)F(y)=\frac{1}{4} \ ### Syntax -`result = [[stdlib_stats_distribution_normal(module):cdf_normal(interface)]](x, loc, scale)` +`result = ` [[stdlib_stats_distribution_normal(module):cdf_normal(interface)]] `(x, loc, scale)` ### Class @@ -146,4 +146,4 @@ The result is a scalar or an array, with a shape conformable to the arguments, a [^1]: Marsaglia, George, and Wai Wan Tsang. "The ziggurat method for generating random variables." _Journal of statistical software_ 5 (2000): 1-7. -[^2]: Miller, Scott, and Donald Childers. _Probability and random processes: With applications to signal processing and communications_. Academic Press, 2012 (p. 197). \ No newline at end of file +[^2]: Miller, Scott, and Donald Childers. _Probability and random processes: With applications to signal processing and communications_. Academic Press, 2012 (p. 197). diff --git a/doc/specs/stdlib_stats_distribution_uniform.md b/doc/specs/stdlib_stats_distribution_uniform.md index 3d8882cbd..33fdd6756 100644 --- a/doc/specs/stdlib_stats_distribution_uniform.md +++ b/doc/specs/stdlib_stats_distribution_uniform.md @@ -18,7 +18,7 @@ Applying Fisher-Yates algorithm to generate an unbiased permutation for any list ### Syntax -`result = [[stdlib_stats_distribution_uniform(module):shuffle(interface)]]( list )` +`result = ` [[stdlib_stats_distribution_uniform(module):shuffle(interface)]] `( list )` ### Class @@ -62,7 +62,7 @@ Note: the algorithm used for generating uniform random variates is fundamentally ### Syntax -`result = [[stdlib_stats_distribution_uniform(module):rvs_uniform(interface)]]([[loc,] scale] [[[,array_size]]])` +`result = ` [[stdlib_stats_distribution_uniform(module):rvs_uniform(interface)]] `([[loc,] scale] [[[,array_size]]])` ### Class @@ -110,7 +110,7 @@ f(x) = 1 / (scale%re * scale%im); for complex uniform distribution. ### Syntax -`result = [[stdlib_stats_distribution_uniform(module):pdf_uniform(interface)]](x, loc, scale)` +`result = ` [[stdlib_stats_distribution_uniform(module):pdf_uniform(interface)]] `(x, loc, scale)` ### Class @@ -160,7 +160,7 @@ F(x) = (x%re - loc%re)(x%im - loc%im) / (scale%re * scale%im); for complex unifo ### Syntax -`result = [[stdlib_stats_distribution_uniform(module):cdf_uniform(interface)]](x, loc, scale)` +`result = ` [[stdlib_stats_distribution_uniform(module):cdf_uniform(interface)]] `(x, loc, scale)` ### Class diff --git a/doc/specs/stdlib_str2num.md b/doc/specs/stdlib_str2num.md index 47b783cc5..ef0485cb1 100644 --- a/doc/specs/stdlib_str2num.md +++ b/doc/specs/stdlib_str2num.md @@ -20,7 +20,7 @@ Convert a string or an array of strings to numerical types. ### Syntax -`number = [[stdlib_str2num(module):to_num(interface)]](string, mold)` +`number = ` [[stdlib_str2num(module):to_num(interface)]] `(string, mold)` ### Arguments @@ -50,7 +50,7 @@ Convert a stream of values in a string to an array of values. ### Syntax -`number = [[stdlib_str2num(module):to_num_from_stream(interface)]](string, mold)` +`number = ` [[stdlib_str2num(module):to_num_from_stream(interface)]] `(string, mold)` ### Arguments diff --git a/doc/specs/stdlib_string_type.md b/doc/specs/stdlib_string_type.md index b1d34684e..e50d05f97 100644 --- a/doc/specs/stdlib_string_type.md +++ b/doc/specs/stdlib_string_type.md @@ -50,7 +50,7 @@ Creates a string instance representing an empty string. #### Syntax -`res = [[stdlib_string_type(module):string_type(interface)]] ()` +`res = ` [[stdlib_string_type(module):string_type(interface)]] ` ()` #### Class @@ -88,7 +88,7 @@ character variable is passed. #### Syntax -`res = [[stdlib_string_type(module):string_type(interface)]] (string)` +`res = ` [[stdlib_string_type(module):string_type(interface)]] ` (string)` #### Class @@ -122,7 +122,7 @@ The module defines a constructor to create a string type from an integer scalar. #### Syntax -`res = [[stdlib_string_type(module):string_type(interface)]] (string)` +`res = ` [[stdlib_string_type(module):string_type(interface)]] ` (string)` #### Class @@ -156,7 +156,7 @@ The module defines a constructor to create a string type from a logical scalar. #### Syntax -`res = [[stdlib_string_type(module):string_type(interface)]] (string)` +`res = ` [[stdlib_string_type(module):string_type(interface)]] ` (string)` #### Class @@ -219,7 +219,7 @@ Returns the length of the string. #### Syntax -`res = [[stdlib_string_type(module):len(interface)]] (string)` +`res = ` [[stdlib_string_type(module):len(interface)]] ` (string)` #### Class @@ -254,7 +254,7 @@ represented by the string. #### Syntax -`res = [[stdlib_string_type(module):len_trim(interface)]] (string)` +`res = ` [[stdlib_string_type(module):len_trim(interface)]] ` (string)` #### Class @@ -289,7 +289,7 @@ represented by a `string_type`. #### Syntax -`res = [[stdlib_string_type(module):trim(interface)]] (string)` +`res = ` [[stdlib_string_type(module):trim(interface)]] ` (string)` #### Class @@ -324,7 +324,7 @@ The length of the character sequence remains unchanged. #### Syntax -`res = [[stdlib_string_type(module):adjustl(interface)]] (string)` +`res = ` [[stdlib_string_type(module):adjustl(interface)]] ` (string)` #### Class @@ -359,7 +359,7 @@ The length of the character sequence remains unchanged. #### Syntax -`res = [[stdlib_string_type(module):adjustr(interface)]] (string)` +`res = ` [[stdlib_string_type(module):adjustr(interface)]] ` (string)` #### Class @@ -394,7 +394,7 @@ specified copies. #### Syntax -`res = [[stdlib_string_type(module):repeat(interface)]] (string, ncopies)` +`res = ` [[stdlib_string_type(module):repeat(interface)]] ` (string, ncopies)` #### Class @@ -429,7 +429,7 @@ Return the character sequence represented by the string. #### Syntax -`res = [[stdlib_string_type(module):char(interface)]] (string)` +`res = ` [[stdlib_string_type(module):char(interface)]] ` (string)` #### Class @@ -463,7 +463,7 @@ Return the character at a certain position in the string. #### Syntax -`res = [[stdlib_string_type(module):char(interface)]] (string, pos)` +`res = ` [[stdlib_string_type(module):char(interface)]] ` (string, pos)` #### Class @@ -498,7 +498,7 @@ Return a substring from the character sequence of the string. #### Syntax -`res = [[stdlib_string_type(module):char(interface)]] (string, start, last)` +`res = ` [[stdlib_string_type(module):char(interface)]] ` (string, start, last)` #### Class @@ -537,7 +537,7 @@ character sequence in the system's native character set. #### Syntax -`res = [[stdlib_string_type(module):ichar(interface)]] (string)` +`res = ` [[stdlib_string_type(module):ichar(interface)]] ` (string)` #### Class @@ -574,7 +574,7 @@ the character sequences represent by the string. #### Syntax -`res = [[stdlib_string_type(module):iachar(interface)]] (string)` +`res = ` [[stdlib_string_type(module):iachar(interface)]] ` (string)` #### Class @@ -612,7 +612,7 @@ present in *string*, zero is returned. #### Syntax -`res = [[stdlib_string_type(module):index(interface)]] (string, substring[, back])` +`res = ` [[stdlib_string_type(module):index(interface)]] ` (string, substring[, back])` #### Class @@ -652,7 +652,7 @@ the rightmost position is returned. If no character of *set* is found in #### Syntax -`res = [[stdlib_string_type(module):scan(interface)]] (string, set[, back])` +`res = ` [[stdlib_string_type(module):scan(interface)]] ` (string, set[, back])` #### Class @@ -692,7 +692,7 @@ in *set*, the result is zero. #### Syntax -`res = [[stdlib_string_type(module):verify(interface)]] (string, set[, back])` +`res = ` [[stdlib_string_type(module):verify(interface)]] ` (string, set[, back])` #### Class @@ -732,7 +732,7 @@ This defines three procedures overloading the intrinsic `lgt` procedure. #### Syntax -`res = [[stdlib_string_type(module):lgt(interface)]] (lhs, rhs)` +`res = ` [[stdlib_string_type(module):lgt(interface)]] ` (lhs, rhs)` #### Class @@ -771,7 +771,7 @@ This defines three procedures overloading the intrinsic `llt` procedure. #### Syntax -`res = [[stdlib_string_type(module):llt(interface)]] (lhs, rhs)` +`res = ` [[stdlib_string_type(module):llt(interface)]] ` (lhs, rhs)` #### Class @@ -811,7 +811,7 @@ This defines three procedures overloading the intrinsic `lge` procedure. #### Syntax -`res = [[stdlib_string_type(module):lge(interface)]] (lhs, rhs)` +`res = ` [[stdlib_string_type(module):lge(interface)]] ` (lhs, rhs)` #### Class @@ -851,7 +851,7 @@ This defines three procedures overloading the intrinsic `lle` procedure. #### Syntax -`res = [[stdlib_string_type(module):lle(interface)]] (lhs, rhs)` +`res = ` [[stdlib_string_type(module):lle(interface)]] ` (lhs, rhs)` #### Class @@ -887,7 +887,7 @@ character sequence hold by the input string. #### Syntax -`lowercase_string = [[stdlib_string_type(module): to_lower(interface)]] (string)` +`lowercase_string = ` [[stdlib_string_type(module):to_lower(interface)]] ` (string)` #### Class @@ -922,7 +922,7 @@ character sequence hold by the input string. #### Syntax -`uppercase_string = [[stdlib_string_type(module): to_upper(interface)]] (string)` +`uppercase_string = ` [[stdlib_string_type(module):to_upper(interface)]] ` (string)` #### Class @@ -962,7 +962,7 @@ or numeral present next to either of its 2 ends. #### Syntax -`titlecase_string = [[stdlib_string_type(module): to_title(interface)]] (string)` +`titlecase_string = ` [[stdlib_string_type(module):to_title(interface)]] ` (string)` #### Class @@ -999,7 +999,7 @@ characters in the sequence are transformed to lowercase. #### Syntax -`sentencecase_string = [[stdlib_string_type(module): to_sentence(interface)]] (string)` +`sentencecase_string = ` [[stdlib_string_type(module):to_sentence(interface)]] ` (string)` #### Class @@ -1033,7 +1033,7 @@ character sequence hold by the input string. #### Syntax -`reverse_string = [[stdlib_string_type(module): reverse(interface)]] (string)` +`reverse_string = ` [[stdlib_string_type(module):reverse(interface)]] ` (string)` #### Class @@ -1527,7 +1527,7 @@ If `from` and `to` are the same variable, then `from` remains unchanged. #### Syntax -`call [[stdlib_string_type(module):move(interface)]] (from, to)` +`call ` [[stdlib_string_type(module):move(interface)]] ` (from, to)` #### Class diff --git a/doc/specs/stdlib_stringlist_type.md b/doc/specs/stdlib_stringlist_type.md index 27f4f19c3..057a93a60 100644 --- a/doc/specs/stdlib_stringlist_type.md +++ b/doc/specs/stdlib_stringlist_type.md @@ -49,8 +49,8 @@ Experimental #### Syntax -For fidx: `res = [[stdlib_stringlist_type(module):fidx(interface)]] (idx)` -For bidx: `res = [[stdlib_stringlist_type(module):bidx(interface)]] (idx)` +For fidx: `res = ` [[stdlib_stringlist_type(module):fidx(interface)]] ` (idx)` +For bidx: `res = ` [[stdlib_stringlist_type(module):bidx(interface)]] ` (idx)` #### Status @@ -86,7 +86,7 @@ With argument: Initializes a stringlist equivalent to the input array `array` i. #### Syntax -`res = [[stdlib_stringlist_type(module):stringlist_type(interface)]] ([array])` +`res = ` [[stdlib_stringlist_type(module):stringlist_type(interface)]] ` ([array])` #### Status @@ -121,7 +121,7 @@ Inserts the string `string` _AT_ the index `idx`, so that the newly added elemen #### Syntax -`call [[stdlib_stringlist_type(module):stringlist_type(type)]]%[[stringlist_type(type):insert_at(bound)]] (idx, string)` +`call ` [[stdlib_stringlist_type(module):stringlist_type(type)]] `%` [[stringlist_type(type):insert_at(bound)]] ` (idx, string)` #### Status @@ -155,7 +155,7 @@ Returns the string present currently at the index `idx` in a stringlist. If inde #### Syntax -`res = [[stdlib_stringlist_type(module):stringlist_type(type)]]%[[stringlist_type(type):get(bound)]] (idx)` +`res = ` [[stdlib_stringlist_type(module):stringlist_type(type)]] `%` [[stringlist_type(type):get(bound)]] ` (idx)` #### Status @@ -190,7 +190,7 @@ Returns the number of elements present currently in the stringlist. #### Syntax -`res = [[stdlib_stringlist_type(module):stringlist_type(type)]]%[[stringlist_type(type):len(bound)]] ()` +`res = ` [[stdlib_stringlist_type(module):stringlist_type(type)]] `%` [[stringlist_type(type):len(bound)]] ` ()` #### Status @@ -224,7 +224,7 @@ Removes all elements from a stringlist. #### Syntax -`call [[stdlib_stringlist_type(module):stringlist_type(type)]]%[[stringlist_type(type):clear(bound)]] ()` +`call ` [[stdlib_stringlist_type(module):stringlist_type(type)]] `%` [[stringlist_type(type):clear(bound)]] ` ()` #### Status @@ -360,7 +360,7 @@ a [[stdlib_stringlist_type(module):stringlist_type(type)]]. #### Result value -The result is an instance of `[[stdlib_stringlist_type(module):stringlist_type(type)]]`. +The result is an instance of [[stdlib_stringlist_type(module):stringlist_type(type)]]. #### Example diff --git a/doc/specs/stdlib_strings.md b/doc/specs/stdlib_strings.md index f61ae3edf..099aa5521 100644 --- a/doc/specs/stdlib_strings.md +++ b/doc/specs/stdlib_strings.md @@ -23,7 +23,7 @@ Remove leading and trailing whitespace characters. #### Syntax -`string = [[stdlib_strings(module):strip(interface)]] (string)` +`string = ` [[stdlib_strings(module):strip(interface)]] ` (string)` #### Status @@ -59,7 +59,7 @@ If no character *set* or *substring* is provided trailing whitespace is removed. #### Syntax -`string = [[stdlib_strings(module):chomp(interface)]] (string[, set|substring])` +`string = ` [[stdlib_strings(module):chomp(interface)]] ` (string[, set|substring])` #### Status @@ -97,7 +97,7 @@ Check if a *string* starts with a given *substring*. #### Syntax -`string = [[stdlib_strings(module):starts_with(interface)]] (string, substring)` +`string = ` [[stdlib_strings(module):starts_with(interface)]] ` (string, substring)` #### Status @@ -134,7 +134,7 @@ Check if a *string* ends with a given *substring*. #### Syntax -`string = [[stdlib_strings(module):ends_with(interface)]] (string, substring)` +`string = ` [[stdlib_strings(module):ends_with(interface)]] ` (string, substring)` #### Status @@ -185,7 +185,7 @@ If no valid index exists in the defined region, empty string is returned. #### Syntax -`string = [[stdlib_strings(module):slice(interface)]] (string [, first, last, stride])` +`string = ` [[stdlib_strings(module):slice(interface)]] ` (string [, first, last, stride])` #### Status @@ -230,7 +230,7 @@ If `occurrence`th occurrence is not found, function returns `0`. #### Syntax -`string = [[stdlib_strings(module):find(interface)]] (string, pattern [, occurrence, consider_overlapping])` +`string = ` [[stdlib_strings(module):find(interface)]] ` (string, pattern [, occurrence, consider_overlapping])` #### Status @@ -272,7 +272,7 @@ Occurrences overlapping on a base occurrence will not be replaced. #### Syntax -`string = [[stdlib_strings(module):replace_all(interface)]] (string, pattern, replacement)` +`string = ` [[stdlib_strings(module):replace_all(interface)]] ` (string, pattern, replacement)` #### Status @@ -312,7 +312,7 @@ If `output_length` is less than or equal to the length of `string`, padding is n #### Syntax -`string = [[stdlib_strings(module):padl(interface)]] (string, output_length [, pad_with])` +`string = ` [[stdlib_strings(module):padl(interface)]] ` (string, output_length [, pad_with])` #### Status @@ -352,7 +352,7 @@ If `output_length` is less than or equal to the length of `string`, padding is n #### Syntax -`string = [[stdlib_strings(module):padr(interface)]] (string, output_length [, pad_with])` +`string = ` [[stdlib_strings(module):padr(interface)]] ` (string, output_length [, pad_with])` #### Status @@ -392,7 +392,7 @@ If `consider_overlapping` is not provided or is set to `.true.` the function cou #### Syntax -`string = [[stdlib_strings(module):count(interface)]] (string, pattern [, consider_overlapping])` +`string = ` [[stdlib_strings(module):count(interface)]] ` (string, pattern [, consider_overlapping])` #### Status @@ -432,7 +432,7 @@ If `output_length` is less than or equal to the length of `string`, padding is n #### Syntax -`string = [[stdlib_strings(module):zfill(interface)]] (string, output_length)` +`string = ` [[stdlib_strings(module):zfill(interface)]] ` (string, output_length)` #### Status @@ -470,7 +470,7 @@ Input a wrong `format` that cause the internal-IO to fail, the result value is a #### Syntax -`string = [[stdlib_strings(module):to_string(interface)]] (value [, format])` +`string = ` [[stdlib_strings(module):to_string(interface)]] ` (value [, format])` #### Status diff --git a/doc/specs/stdlib_version.md b/doc/specs/stdlib_version.md index 26ddc4927..54b207e3d 100644 --- a/doc/specs/stdlib_version.md +++ b/doc/specs/stdlib_version.md @@ -38,7 +38,7 @@ Getter function to retrieve version information #### Syntax -`res = [[stdlib_version(module):get_stdlib_version(function)]] ([major], [minor], [patch], [string])` +`res = ` [[stdlib_version(module):get_stdlib_version(subroutine)]] ` ([major], [minor], [patch], [string])` #### Class diff --git a/src/stdlib_str2num.fypp b/src/stdlib_str2num.fypp index d7deac90c..435ab0071 100644 --- a/src/stdlib_str2num.fypp +++ b/src/stdlib_str2num.fypp @@ -1,7 +1,7 @@ #:include "common.fypp" !> The `stdlib_str2num` module provides procedures and interfaces for conversion !> of characters to numerical types. Currently supported: `integer` and `real`. -!! ([Specification](../page/specs/stdlib_str2num.html) +!> ([Specification](../page/specs/stdlib_str2num.html)) !> !> This code was modified from https://github.com/jalvesz/Fortran-String-to-Num by Alves Jose !> And was possible thanks to all the discussions in this thread https://fortran-lang.discourse.group/t/faster-string-to-double/ @@ -9,18 +9,28 @@ !> Known precisions limits of current proposal : !> Conversion to double precision is exact up to epsilon(0.0_dp) !> example: +!> !> input : 123456.78901234567890123456789012345678901234567890+2 +!> !> formatted read : 12345678.90123457 +!> !> to_num : 12345678.90123457 +!> !> difference abs : 0.1862645149230957E-08 +!> !> difference rel : 0.1508742584455759E-13% !> !> Conversion to quadruple precision can deviate at about 200*epsilon(0.0_qp) !> example: +!> !> input : 0.140129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125E-443 +!> !> formatted read : 0.140129846432481707092372958328991608E-443 +!> !> to_num : 0.140129846432481707092372958328996233E-443 +!> !> difference abs : 0.4625E-475 +!> !> difference rel : 0.3300E-029% module stdlib_str2num @@ -78,24 +88,24 @@ module stdlib_str2num #:for k1, t1 in (INT_KINDS_TYPES + REAL_KINDS_TYPES) elemental function to_${k1}$(s,mold) result(v) ! -- In/out Variables - character(*), intent(in) :: s !> input string - ${t1}$, intent(in) :: mold !> dummy argument to disambiguate at compile time the generic interface - ${t1}$ :: v !> Output ${t1}$ value + character(*), intent(in) :: s !! input string + ${t1}$, intent(in) :: mold !! dummy argument to disambiguate at compile time the generic interface + ${t1}$ :: v !! Output ${t1}$ value ! -- Internal Variables - integer(int8) :: p !> position within the number - integer(int8) :: stat !> error status + integer(int8) :: p !! position within the number + integer(int8) :: stat !! error status !---------------------------------------------- call to_num_base(s,v,p,stat) end function function to_${k1}$_from_stream(s,mold,stat) result(v) ! -- In/out Variables - character(len=:), pointer :: s !> input string - ${t1}$, intent(in) :: mold !> dummy argument to disambiguate at compile time the generic interface - ${t1}$ :: v !> Output ${t1}$ value + character(len=:), pointer :: s !! input string + ${t1}$, intent(in) :: mold !! dummy argument to disambiguate at compile time the generic interface + ${t1}$ :: v !! Output ${t1}$ value integer(int8),intent(inout), optional :: stat ! -- Internal Variables - integer(int8) :: p !> position within the number + integer(int8) :: p !! position within the number integer(int8) :: err !---------------------------------------------- call to_num_base(s,v,p,err) @@ -111,16 +121,16 @@ module stdlib_str2num #:for k1, t1 in INT_KINDS_TYPES elemental subroutine to_${k1}$_base(s,v,p,stat) - !> Return an ${k1}$ integer + !! Return an ${k1}$ integer ! -- In/out Variables - character(*), intent(in) :: s !> input string - ${t1}$, intent(out) :: v !> Output real value - integer(int8), intent(out) :: p !> position within the number - integer(int8), intent(out) :: stat !> status upon succes or failure to read + character(*), intent(in) :: s !! input string + ${t1}$, intent(out) :: v !! Output real value + integer(int8), intent(out) :: p !! position within the number + integer(int8), intent(out) :: stat !! status upon succes or failure to read ! -- Internal Variables integer(int8) :: val !---------------------------------------------- - stat = 23 !> initialize error status with any number > 0 + stat = 23 !! initialize error status with any number > 0 !---------------------------------------------- ! Find first non white space p = shift_to_nonwhitespace(s) @@ -142,16 +152,16 @@ module stdlib_str2num elemental subroutine to_sp_base(s,v,p,stat) integer, parameter :: wp = sp - !> Sequentially unroll the character and get the sub integers composing the whole number, fraction and exponent + !! Sequentially unroll the character and get the sub integers composing the whole number, fraction and exponent ! -- In/out Variables - character(*), intent(in) :: s !> input string - real(wp), intent(inout) :: v !> Output real value - integer(int8), intent(out) :: p !> last position within the string - integer(int8), intent(out) :: stat !> status upon success or failure to read + character(*), intent(in) :: s !! input string + real(wp), intent(inout) :: v !! Output real value + integer(int8), intent(out) :: p !! last position within the string + integer(int8), intent(out) :: stat !! status upon success or failure to read ! -- Internal Variables - integer(int8), parameter :: nwnb = 39 !> number of whole number factors - integer(int8), parameter :: nfnb = 37 !> number of fractional number factors + integer(int8), parameter :: nwnb = 39 !! number of whole number factors + integer(int8), parameter :: nfnb = 37 !! number of fractional number factors integer :: e ! Notice: We use dp here to obtain exact precision for sp. ! Otherwise errors may appear in comparison to formatted read. @@ -160,14 +170,14 @@ module stdlib_str2num real(dp), parameter :: fractional_base(nfnb) = [(10._dp**(-e),e=1,nfnb)] real(dp), parameter :: expbase(nwnb+nfnb) = [whole_number_base, fractional_base] - integer(int8) :: sign, sige !> sign of integer number and exponential - integer, parameter :: maxdpt = 11 !> Maximum depth to read values on int_wp - integer(dp) :: int_wp !> long integer to capture fractional part - integer :: i_exp !> integer to capture whole number part + integer(int8) :: sign, sige !! sign of integer number and exponential + integer, parameter :: maxdpt = 11 !! Maximum depth to read values on int_wp + integer(dp) :: int_wp !! long integer to capture fractional part + integer :: i_exp !! integer to capture whole number part integer :: exp_aux integer(int8) :: i, pP, pE, val , resp !---------------------------------------------- - stat = 23 !> initialize error status with any number > 0 + stat = 23 !! initialize error status with any number > 0 !---------------------------------------------- ! Find first non white space p = shift_to_nonwhitespace(s) @@ -243,29 +253,29 @@ module stdlib_str2num elemental subroutine to_dp_base(s,v,p,stat) integer, parameter :: wp = dp - !> Sequentially unroll the character and get the sub integers composing the whole number, fraction and exponent + !! Sequentially unroll the character and get the sub integers composing the whole number, fraction and exponent ! -- In/out Variables - character(*), intent(in) :: s !> input string - real(wp), intent(inout) :: v !> Output real value - integer(int8), intent(out) :: p !> last position within the string - integer(int8), intent(out) :: stat !> status upon success or failure to read + character(*), intent(in) :: s !! input string + real(wp), intent(inout) :: v !! Output real value + integer(int8), intent(out) :: p !! last position within the string + integer(int8), intent(out) :: stat !! status upon success or failure to read ! -- Internal Variables - integer(int8), parameter :: nwnb = 40 !> number of whole number factors - integer(int8), parameter :: nfnb = 64 !> number of fractional number factors + integer(int8), parameter :: nwnb = 40 !! number of whole number factors + integer(int8), parameter :: nfnb = 64 !! number of fractional number factors integer :: e real(wp), parameter :: whole_number_base(nwnb) = [(10._wp**(nwnb-e),e=1,nwnb)] real(wp), parameter :: fractional_base(nfnb) = [(10._wp**(-e),e=1,nfnb)] real(wp), parameter :: expbase(nwnb+nfnb) = [whole_number_base, fractional_base] - integer(int8) :: sign, sige !> sign of integer number and exponential - integer, parameter :: maxdpt = 19 !> Maximum depth to read values on int_wp - integer(wp) :: int_wp !> long integer to capture fractional part - integer :: i_exp !> integer to capture whole number part + integer(int8) :: sign, sige !! sign of integer number and exponential + integer, parameter :: maxdpt = 19 !! Maximum depth to read values on int_wp + integer(wp) :: int_wp !! long integer to capture fractional part + integer :: i_exp !! integer to capture whole number part integer :: exp_aux integer(int8) :: i, pP, pE, val , resp !---------------------------------------------- - stat = 23 !> initialize error status with any number > 0 + stat = 23 !! initialize error status with any number > 0 !---------------------------------------------- ! Find first non white space p = shift_to_nonwhitespace(s) @@ -342,29 +352,29 @@ module stdlib_str2num #:if WITH_XDP elemental subroutine to_xdp_base(s,v,p,stat) integer, parameter :: wp = xdp - !> Sequentially unroll the character and get the sub integers composing the whole number, fraction and exponent + !! Sequentially unroll the character and get the sub integers composing the whole number, fraction and exponent ! -- In/out Variables - character(*), intent(in) :: s !> input string - real(wp), intent(inout) :: v !> Output real value - integer(int8), intent(out) :: p !> last position within the string - integer(int8), intent(out) :: stat !> status upon success or failure to read + character(*), intent(in) :: s !! input string + real(wp), intent(inout) :: v !! Output real value + integer(int8), intent(out) :: p !! last position within the string + integer(int8), intent(out) :: stat !! status upon success or failure to read ! -- Internal Variables - integer(int8), parameter :: nwnb = 50 !> number of whole number factors - integer(int8), parameter :: nfnb = 64 !> number of fractional number factors + integer(int8), parameter :: nwnb = 50 !! number of whole number factors + integer(int8), parameter :: nfnb = 64 !! number of fractional number factors integer :: e real(wp), parameter :: whole_number_base(nwnb) = [(10._wp**(nwnb-e),e=1,nwnb)] real(wp), parameter :: fractional_base(nfnb) = [(10._wp**(-e),e=1,nfnb)] real(wp), parameter :: expbase(nwnb+nfnb) = [whole_number_base, fractional_base] - integer(int8) :: sign, sige !> sign of integer number and exponential - integer, parameter :: maxdpt = 19 !> Maximum depth to read values on int_dp - integer(dp) :: int_dp1, int_dp2 !> long integers to capture whole and fractional part - integer :: i_exp !> integer to capture exponent number + integer(int8) :: sign, sige !! sign of integer number and exponential + integer, parameter :: maxdpt = 19 !! Maximum depth to read values on int_dp + integer(dp) :: int_dp1, int_dp2 !! long integers to capture whole and fractional part + integer :: i_exp !! integer to capture exponent number integer :: exp_aux integer(int8) :: i, pP, pE, val , resp, icount, aux !---------------------------------------------- - stat = 23 !> initialize error status with any number > 0 + stat = 23 !! initialize error status with any number > 0 !---------------------------------------------- ! Find first non white space p = shift_to_nonwhitespace(s) @@ -455,29 +465,29 @@ module stdlib_str2num #:if WITH_QP elemental subroutine to_qp_base(s,v,p,stat) integer, parameter :: wp = qp - !> Sequentially unroll the character and get the sub integers composing the whole number, fraction and exponent + !! Sequentially unroll the character and get the sub integers composing the whole number, fraction and exponent ! -- In/out Variables - character(*), intent(in) :: s !> input string - real(wp), intent(inout) :: v !> Output real value - integer(int8), intent(out) :: p !> last position within the string - integer(int8), intent(out) :: stat !> status upon success or failure to read + character(*), intent(in) :: s !! input string + real(wp), intent(inout) :: v !! Output real value + integer(int8), intent(out) :: p !! last position within the string + integer(int8), intent(out) :: stat !! status upon success or failure to read ! -- Internal Variables - integer(int8), parameter :: nwnb = 50 !> number of whole number factors - integer(int8), parameter :: nfnb = 64 !> number of fractional number factors + integer(int8), parameter :: nwnb = 50 !! number of whole number factors + integer(int8), parameter :: nfnb = 64 !! number of fractional number factors integer :: e real(wp), parameter :: whole_number_base(nwnb) = [(10._wp**(nwnb-e),e=1,nwnb)] real(wp), parameter :: fractional_base(nfnb) = [(10._wp**(-e),e=1,nfnb)] real(wp), parameter :: expbase(nwnb+nfnb) = [whole_number_base, fractional_base] - integer(int8) :: sign, sige !> sign of integer number and exponential - integer, parameter :: maxdpt = 19 !> Maximum depth to read values on int_dp - integer(dp) :: int_dp1, int_dp2 !> long integers to capture whole and fractional part - integer :: i_exp !> integer to capture exponent number + integer(int8) :: sign, sige !! sign of integer number and exponential + integer, parameter :: maxdpt = 19 !! Maximum depth to read values on int_dp + integer(dp) :: int_dp1, int_dp2 !! long integers to capture whole and fractional part + integer :: i_exp !! integer to capture exponent number integer :: exp_aux integer(int8) :: i, pP, pE, val , resp, icount, aux !---------------------------------------------- - stat = 23 !> initialize error status with any number > 0 + stat = 23 !! initialize error status with any number > 0 !---------------------------------------------- ! Find first non white space p = shift_to_nonwhitespace(s) @@ -570,9 +580,9 @@ module stdlib_str2num !--------------------------------------------- elemental function shift_to_nonwhitespace(s) result(p) - !> move string to position of the next non white space character - character(*),intent(in) :: s !> character chain - integer(int8) :: p !> position + !! move string to position of the next non white space character + character(*),intent(in) :: s !! character chain + integer(int8) :: p !! position !---------------------------------------------- p = 1 do while( p move string to position of the next white space character - character(*),intent(in) :: s !> character chain - integer(int8) :: p !> position + !! move string to position of the next white space character + character(*),intent(in) :: s !! character chain + integer(int8) :: p !! position !---------------------------------------------- p = 1 do while( p