mirror of
https://github.com/SASPAC/dfa.git
synced 2026-03-10 01:28:12 +00:00
The DFA package [ver. 0.5.8]
The DFA package [ver. 0.5.8] Package regenerated with SAS Packages Framework, version 20250126. No functional changes, documentation cleaned up.
This commit is contained in:
@@ -7,7 +7,7 @@ a dynamically allocated array, a stack, a fifo queue, an ordered stack, and a pr
|
|||||||
|
|
||||||
Run `%helpPackage(DFA,createDFArray)` to find examples.
|
Run `%helpPackage(DFA,createDFArray)` to find examples.
|
||||||
|
|
||||||
SHA256 digest for the latest version of `DFA`: F*012375D87F66EB3A7BF5DDD0CC5AEE28851733EE33CC63231DF9045BEB958168
|
SHA256 digest for the latest version of `DFA`: F*643FBE2B7AE1425FC0240139813B93AE2C6BCFFDF6A0CFAEBEC11F83D3548E57
|
||||||
|
|
||||||
[**Documentation for DFA**](./dfa.md "Documentation for DFA")
|
[**Documentation for DFA**](./dfa.md "Documentation for DFA")
|
||||||
|
|
||||||
|
|||||||
352
dfa.md
352
dfa.md
@@ -1,24 +1,30 @@
|
|||||||
- [The DFA package](#dfa-package)
|
# Documentation for the `DFA` package.
|
||||||
- [Content description](#content-description)
|
|
||||||
* [`%createDFArray()` macro](#createdfarray-macro)
|
----------------------------------------------------------------
|
||||||
* [`%createDHArray()` macro](#createdharray-macro)
|
|
||||||
* [`%createDHFifo()` macro](#createdhfifo-macro)
|
*Dynamic function arrays and other useful data structures*
|
||||||
* [`%createDHOrdStack()` macro](#createdhordstack-macro)
|
|
||||||
* [`%createDHPrtQueue()` macro](#createdhprtqueue-macro)
|
----------------------------------------------------------------
|
||||||
* [`%createDHStack()` macro](#createdhstack-macro)
|
|
||||||
* [`bit64orPROTOdfa()` proto function](#bit64orprotodfa-proto-function)
|
### Version information:
|
||||||
* [`bit64andPROTOdfa()` proto function](#bit64andprotodfa-proto-function)
|
|
||||||
* [`bit64orDFA()` subroutine](#bit64ordfa-function)
|
- Package: DFA
|
||||||
* [`bit64andDFA()` subroutine](#bit64anddfa-function)
|
- Version: 0.5.8
|
||||||
* [`%createDFBitmap()` macro](#createdfbitmap-macro)
|
- Generated: 2026-01-26T15:19:02
|
||||||
* [`generateArrays` exec](#createdhprtqueue-exec)
|
- Author(s): Bartosz Jablonski (yabwon@gmail.com)
|
||||||
* [`generateArrays` clean](#createdhprtqueue-clean)
|
- Maintainer(s): Bartosz Jablonski (yabwon@gmail.com)
|
||||||
|
- License: MIT
|
||||||
|
- File SHA256: `F*643FBE2B7AE1425FC0240139813B93AE2C6BCFFDF6A0CFAEBEC11F83D3548E57` for this version
|
||||||
|
- Content SHA256: `C*E2E883D8F8A7F7FCB97C2B7240FD5E70A8A6F2A6B3F0F75119F47886338C6B0C` for this version
|
||||||
|
|
||||||
* [License](#license)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
# The `DFA` package, version: `0.5.8`;
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
# The DFA package [ver. 0.5.7] <a name="dfa-package"></a> ###############################################
|
# The DFA package [ver. 0.5.8] <a name="dfa-package"></a> ###############################################
|
||||||
|
|
||||||
The **DFA** (a.k.a. *Dynamic Function Array*) package implements:
|
The **DFA** (a.k.a. *Dynamic Function Array*) package implements:
|
||||||
- dynamic numeric and character arrays,
|
- dynamic numeric and character arrays,
|
||||||
@@ -36,30 +42,50 @@ Few exemplary functions are also generated.
|
|||||||
See particular macro help for further details.
|
See particular macro help for further details.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Package contains:
|
|
||||||
1. macro createdfarray
|
|
||||||
2. macro createdharray
|
|
||||||
3. macro createdhfifo
|
|
||||||
4. macro createdhordstack
|
|
||||||
5. macro createdhprtqueue
|
|
||||||
6. macro createdhstack
|
|
||||||
7. proto bit64andprotodfa
|
|
||||||
8. proto bit64orprotodfa
|
|
||||||
9. functions bit64anddfa
|
|
||||||
10. functions bit64ordfa
|
|
||||||
11. macro createdfbitmap
|
|
||||||
12. exec generatearrays
|
|
||||||
13. clean generatearrays
|
|
||||||
|
|
||||||
*SAS package generated by generatePackage, version 20231111*
|
|
||||||
|
|
||||||
The SHA256 hash digest for package DFA:
|
|
||||||
`F*012375D87F66EB3A7BF5DDD0CC5AEE28851733EE33CC63231DF9045BEB958168`
|
|
||||||
|
|
||||||
---
|
---
|
||||||
# Content description ############################################################################################
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Required SAS Components:
|
||||||
|
- Base SAS Software
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
|
*SAS package generated by SAS Package Framework, version `20260125`,*
|
||||||
|
*under `WIN`(`X64_10PRO`) operating system,*
|
||||||
|
*using SAS release: `9.04.01M9P06042025`.*
|
||||||
|
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The `DFA` package content
|
||||||
|
The `DFA` package consists of the following content:
|
||||||
|
|
||||||
|
1. [`%createdfarray()` macro ](#createdfarray-macro-1 )
|
||||||
|
2. [`%createdharray()` macro ](#createdharray-macro-2 )
|
||||||
|
3. [`%createdhfifo()` macro ](#createdhfifo-macro-3 )
|
||||||
|
4. [`%createdhordstack()` macro ](#createdhordstack-macro-4 )
|
||||||
|
5. [`%createdhprtqueue()` macro ](#createdhprtqueue-macro-5 )
|
||||||
|
6. [`%createdhstack()` macro ](#createdhstack-macro-6 )
|
||||||
|
7. [`bit64andprotodfa()` proto ](#bit64andprotodfa-proto-7 )
|
||||||
|
8. [`bit64orprotodfa()` proto ](#bit64orprotodfa-proto-8 )
|
||||||
|
9. [`bit64anddfa()` function ](#bit64anddfa-functions-9 )
|
||||||
|
10. [`bit64ordfa()` function ](#bit64ordfa-functions-10 )
|
||||||
|
11. [`%createdfbitmap()` macro ](#createdfbitmap-macro-11 )
|
||||||
|
12. [`generatearrays` exec ](#generatearrays-exec-12 )
|
||||||
|
13. [`generatearrays` clean ](#generatearrays-clean-13 )
|
||||||
|
|
||||||
|
|
||||||
|
14. [License note](#license)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `%createdfarray()` macro <a name="createdfarray-macro-1"></a> ######
|
||||||
|
|
||||||
## >>> `%createDFArray()` macro: <<< <a name="createdfarray-macro"></a> #######################
|
## >>> `%createDFArray()` macro: <<< <a name="createdfarray-macro"></a> #######################
|
||||||
|
|
||||||
The `%createDFArray()` macro allows to generate
|
The `%createDFArray()` macro allows to generate
|
||||||
@@ -122,7 +148,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
|
|||||||
* `header=` - *Optional*, the default value is `1`. Indicates if
|
* `header=` - *Optional*, the default value is `1`. Indicates if
|
||||||
the `proc fcmp outlib = &outlib.;` header is added to
|
the `proc fcmp outlib = &outlib.;` header is added to
|
||||||
the executed code. If not 1 then no header is added.
|
the executed code. If not 1 then no header is added.
|
||||||
|
|
||||||
**Created function arguments description**:
|
**Created function arguments description**:
|
||||||
|
|
||||||
A function generated by the macro is:
|
A function generated by the macro is:
|
||||||
@@ -172,6 +198,7 @@ and accepts the following list of arguments and values:
|
|||||||
|
|
||||||
The `position` and the `value` arguments are **outargs**, i.e. can be changed by the function.
|
The `position` and the `value` arguments are **outargs**, i.e. can be changed by the function.
|
||||||
|
|
||||||
|
|
||||||
### EXAMPLES AND USECASES: ####################################################
|
### EXAMPLES AND USECASES: ####################################################
|
||||||
|
|
||||||
**EXAMPLE 1.** Dynamic, Searchable, and Immutable array:
|
**EXAMPLE 1.** Dynamic, Searchable, and Immutable array:
|
||||||
@@ -309,6 +336,12 @@ The `position` and the `value` arguments are **outargs**, i.e. can be changed by
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `%createdharray()` macro <a name="createdharray-macro-2"></a> ######
|
||||||
|
|
||||||
## >>> `%createDHArray()` macro: <<< <a name="createdharray-macro"></a> #######################
|
## >>> `%createDHArray()` macro: <<< <a name="createdharray-macro"></a> #######################
|
||||||
|
|
||||||
The `%createDHArray()` macro allows to generate
|
The `%createDHArray()` macro allows to generate
|
||||||
@@ -360,7 +393,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
|
|||||||
* `header=` - *Optional*, the default value is `1`. Indicates if
|
* `header=` - *Optional*, the default value is `1`. Indicates if
|
||||||
the `proc fcmp outlib = &outlib.;` header is added to
|
the `proc fcmp outlib = &outlib.;` header is added to
|
||||||
the executed code. If not 1 then no header is added.
|
the executed code. If not 1 then no header is added.
|
||||||
|
|
||||||
**Created function arguments description**:
|
**Created function arguments description**:
|
||||||
|
|
||||||
A function generated by the macro is:
|
A function generated by the macro is:
|
||||||
@@ -397,6 +430,7 @@ and accepts the following list of arguments and values:
|
|||||||
|
|
||||||
The `position` and the `value` arguments are **outargs**, i.e. can be changed by the function.
|
The `position` and the `value` arguments are **outargs**, i.e. can be changed by the function.
|
||||||
|
|
||||||
|
|
||||||
### EXAMPLES AND USECASES: ####################################################
|
### EXAMPLES AND USECASES: ####################################################
|
||||||
|
|
||||||
**EXAMPLE 1.** Dynamic, Hash-based, and Character array:
|
**EXAMPLE 1.** Dynamic, Hash-based, and Character array:
|
||||||
@@ -464,6 +498,12 @@ The `position` and the `value` arguments are **outargs**, i.e. can be changed by
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `%createdhfifo()` macro <a name="createdhfifo-macro-3"></a> ######
|
||||||
|
|
||||||
## >>> `%createDHFifo()` macro: <<< <a name="createdhfifo-macro"></a> #######################
|
## >>> `%createDHFifo()` macro: <<< <a name="createdhfifo-macro"></a> #######################
|
||||||
|
|
||||||
The `%createDHFifo()` macro allows to generate
|
The `%createDHFifo()` macro allows to generate
|
||||||
@@ -519,7 +559,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
|
|||||||
* `header=` - *Optional*, the default value is `1`. Indicates if
|
* `header=` - *Optional*, the default value is `1`. Indicates if
|
||||||
the `proc fcmp outlib = &outlib.;` header is added to
|
the `proc fcmp outlib = &outlib.;` header is added to
|
||||||
the executed code. If not 1 then no header is added.
|
the executed code. If not 1 then no header is added.
|
||||||
|
|
||||||
**Created function arguments description**:
|
**Created function arguments description**:
|
||||||
|
|
||||||
A function generated by the macro is:
|
A function generated by the macro is:
|
||||||
@@ -550,7 +590,7 @@ and accepts the following list of arguments and values:
|
|||||||
|
|
||||||
The `value` argument is **outarg**, i.e. can be changed by the function.
|
The `value` argument is **outarg**, i.e. can be changed by the function.
|
||||||
|
|
||||||
|
|
||||||
### EXAMPLES AND USECASES: ####################################################
|
### EXAMPLES AND USECASES: ####################################################
|
||||||
|
|
||||||
**EXAMPLE 1.** Dynamic, Hash-based, and Character fifo:
|
**EXAMPLE 1.** Dynamic, Hash-based, and Character fifo:
|
||||||
@@ -639,6 +679,12 @@ The `value` argument is **outarg**, i.e. can be changed by the function.
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `%createdhordstack()` macro <a name="createdhordstack-macro-4"></a> ######
|
||||||
|
|
||||||
## >>> `%createDHOrdStack()` macro: <<< <a name="createdhordstack-macro"></a> #######################
|
## >>> `%createDHOrdStack()` macro: <<< <a name="createdhordstack-macro"></a> #######################
|
||||||
|
|
||||||
The `%createDHOrdStack()` macro allows to generate
|
The `%createDHOrdStack()` macro allows to generate
|
||||||
@@ -699,7 +745,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
|
|||||||
* `header=` - *Optional*, the default value is `1`. Indicates if
|
* `header=` - *Optional*, the default value is `1`. Indicates if
|
||||||
the `proc fcmp outlib = &outlib.;` header is added to
|
the `proc fcmp outlib = &outlib.;` header is added to
|
||||||
the executed code. If not 1 then no header is added.
|
the executed code. If not 1 then no header is added.
|
||||||
|
|
||||||
**Created function arguments description**:
|
**Created function arguments description**:
|
||||||
|
|
||||||
A function generated by the macro is:
|
A function generated by the macro is:
|
||||||
@@ -732,7 +778,7 @@ and accepts the following list of arguments and values:
|
|||||||
|
|
||||||
The `value` argument is **outarg**, i.e. can be changed by the function.
|
The `value` argument is **outarg**, i.e. can be changed by the function.
|
||||||
|
|
||||||
|
|
||||||
### EXAMPLES AND USECASES: ####################################################
|
### EXAMPLES AND USECASES: ####################################################
|
||||||
|
|
||||||
**EXAMPLE 1.** Dynamic, Hash-based, and Character Descending Ordered stack:
|
**EXAMPLE 1.** Dynamic, Hash-based, and Character Descending Ordered stack:
|
||||||
@@ -804,6 +850,12 @@ The `value` argument is **outarg**, i.e. can be changed by the function.
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `%createdhprtqueue()` macro <a name="createdhprtqueue-macro-5"></a> ######
|
||||||
|
|
||||||
## >>> `%createDHPrtQueue()` macro: <<< <a name="createdhprtqueue-macro"></a> #######################
|
## >>> `%createDHPrtQueue()` macro: <<< <a name="createdhprtqueue-macro"></a> #######################
|
||||||
|
|
||||||
|
|
||||||
@@ -860,7 +912,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
|
|||||||
* `header=` - *Optional*, the default value is `1`. Indicates if
|
* `header=` - *Optional*, the default value is `1`. Indicates if
|
||||||
the `proc fcmp outlib = &outlib.;` header is added to
|
the `proc fcmp outlib = &outlib.;` header is added to
|
||||||
the executed code. If not 1 then no header is added.
|
the executed code. If not 1 then no header is added.
|
||||||
|
|
||||||
**Created function arguments description**:
|
**Created function arguments description**:
|
||||||
|
|
||||||
A function generated by the macro is:
|
A function generated by the macro is:
|
||||||
@@ -901,7 +953,7 @@ and accepts the following list of arguments and values:
|
|||||||
|
|
||||||
The `position` and the `value` arguments are **outargs**, i.e. can be changed by the function.
|
The `position` and the `value` arguments are **outargs**, i.e. can be changed by the function.
|
||||||
|
|
||||||
|
|
||||||
### EXAMPLES AND USECASES: ####################################################
|
### EXAMPLES AND USECASES: ####################################################
|
||||||
|
|
||||||
**EXAMPLE 1.** Dynamic, Hash-based, and Character Priority queue:
|
**EXAMPLE 1.** Dynamic, Hash-based, and Character Priority queue:
|
||||||
@@ -965,6 +1017,12 @@ The `position` and the `value` arguments are **outargs**, i.e. can be changed by
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `%createdhstack()` macro <a name="createdhstack-macro-6"></a> ######
|
||||||
|
|
||||||
## >>> `%createDHStack()` macro: <<< <a name="createdhstack-macro"></a> #######################
|
## >>> `%createDHStack()` macro: <<< <a name="createdhstack-macro"></a> #######################
|
||||||
|
|
||||||
The `%createDHStack()` macro allows to generate
|
The `%createDHStack()` macro allows to generate
|
||||||
@@ -1020,7 +1078,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
|
|||||||
* `header=` - *Optional*, the default value is `1`. Indicates if
|
* `header=` - *Optional*, the default value is `1`. Indicates if
|
||||||
the `proc fcmp outlib = &outlib.;` header is added to
|
the `proc fcmp outlib = &outlib.;` header is added to
|
||||||
the executed code. If not 1 then no header is added.
|
the executed code. If not 1 then no header is added.
|
||||||
|
|
||||||
**Created function arguments description**:
|
**Created function arguments description**:
|
||||||
|
|
||||||
A function generated by the macro is:
|
A function generated by the macro is:
|
||||||
@@ -1050,7 +1108,7 @@ and accepts the following list of arguments and values:
|
|||||||
|
|
||||||
The `value` argument is **outarg**, i.e. can be changed by the function.
|
The `value` argument is **outarg**, i.e. can be changed by the function.
|
||||||
|
|
||||||
|
|
||||||
### EXAMPLES AND USECASES: ####################################################
|
### EXAMPLES AND USECASES: ####################################################
|
||||||
|
|
||||||
**EXAMPLE 1.** Dynamic, Hash-based, and Character stack:
|
**EXAMPLE 1.** Dynamic, Hash-based, and Character stack:
|
||||||
@@ -1128,31 +1186,11 @@ The `value` argument is **outarg**, i.e. can be changed by the function.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## >>> `bit64orPROTOdfa()` proto function: <<< <a name="bit64orprotodfa-proto-function"></a> #######################
|
|
||||||
|
|
||||||
The **bit64orPROTOdfa()** is external *C* function,
|
|
||||||
this is the implementation of the *bitwise OR* operation
|
|
||||||
on doubles. A double is returned.
|
|
||||||
|
|
||||||
**Caution!** For SAS numeric values *only* operations on first 53 bits are valid!
|
|
||||||
|
|
||||||
The function is used **internally** by functions in the *DFA* package.
|
|
||||||
|
|
||||||
### SYNTAX: ###################################################################
|
|
||||||
|
|
||||||
The basic syntax is the following:
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
|
|
||||||
bit64orPROTOdfa(i, j)
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
**Arguments description**:
|
|
||||||
|
|
||||||
1. `i` - A double numeric argument.
|
|
||||||
|
|
||||||
2. `j` - A double numeric argument.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## `bit64andprotodfa()` proto <a name="bit64andprotodfa-proto-7"></a> ######
|
||||||
|
|
||||||
## >>> `bit64andPROTOdfa()` proto function: <<< <a name="bit64andprotodfa-proto-function"></a> #######################
|
## >>> `bit64andPROTOdfa()` proto function: <<< <a name="bit64andprotodfa-proto-function"></a> #######################
|
||||||
|
|
||||||
The **bit64andPROTOdfa()** is external *C* function,
|
The **bit64andPROTOdfa()** is external *C* function,
|
||||||
@@ -1178,62 +1216,41 @@ bit64andPROTOdfa(i, j)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## >>> `bit64orDFA()` subroutine: <<< <a name="bit64ordfa-function"></a> #######################
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `bit64orprotodfa()` proto <a name="bit64orprotodfa-proto-8"></a> ######
|
||||||
|
|
||||||
|
## >>> `bit64orPROTOdfa()` proto function: <<< <a name="bit64orprotodfa-proto-function"></a> #######################
|
||||||
|
|
||||||
The **bit64orDFA()** function is an alternative to
|
The **bit64orPROTOdfa()** is external *C* function,
|
||||||
the 32 bit bitwise `BOR()` function working on SAS numerics.
|
this is the implementation of the *bitwise OR* operation
|
||||||
Allows to work on *up to* 53 bits of SAS numeric value.
|
on doubles. A double is returned.
|
||||||
|
|
||||||
The `bit64orDFA()` is an *internal* function of the `DFA` package.
|
**Caution!** For SAS numeric values *only* operations on first 53 bits are valid!
|
||||||
|
|
||||||
|
The function is used **internally** by functions in the *DFA* package.
|
||||||
|
|
||||||
### SYNTAX: ###################################################################
|
### SYNTAX: ###################################################################
|
||||||
|
|
||||||
The basic syntax is the following, the `<...>` means optional parameters:
|
The basic syntax is the following:
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
|
||||||
bit64orDFA(a, b)
|
bit64orPROTOdfa(i, j)
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
**Arguments description**:
|
**Arguments description**:
|
||||||
|
|
||||||
1. `a` - Argument is a SAS numeric values.
|
1. `i` - A double numeric argument.
|
||||||
|
|
||||||
2. `B` - Argument is a SAS numeric values.
|
2. `j` - A double numeric argument.
|
||||||
|
|
||||||
### EXAMPLES AND USECASES: ####################################################
|
|
||||||
|
|
||||||
**EXAMPLE 1.** Basic test of `bit64orDFA()` and `bit64andDFA()`
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
|
|
||||||
options ls = max ps = max;
|
|
||||||
%let M = 53 ; %* 53 is maximum valid value;
|
|
||||||
data _null_;
|
|
||||||
array bitmask [ 0: &M] _temporary_ ;
|
|
||||||
do P = 1 to &M ;
|
|
||||||
bitmask[P] = 2**(P-1) ;
|
|
||||||
put bitmask[P] = binary54. @;
|
|
||||||
put bitmask[P] = best32.;
|
|
||||||
end ;
|
|
||||||
bitmask[0] = bitmask[&M.] ;
|
|
||||||
put bitmask[0] = best32. /;
|
|
||||||
|
|
||||||
a=0;
|
|
||||||
put a = binary54.;
|
|
||||||
do P = 1 to &M ;
|
|
||||||
a = BIT64ORDFA (a, bitmask[P]) ;
|
|
||||||
put a = binary54.;
|
|
||||||
end;
|
|
||||||
put;
|
|
||||||
|
|
||||||
b = 0;
|
|
||||||
put b = binary54./;
|
|
||||||
do P = 1 to &M ;
|
|
||||||
b + (BIT64ANDDFA (a, bitmask[P]) ne .) ;
|
|
||||||
put b = best32.;
|
|
||||||
end;
|
|
||||||
run;
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `bit64anddfa()` function <a name="bit64anddfa-functions-9"></a> ######
|
||||||
|
|
||||||
## >>> `bit64andDFA()` subroutine: <<< <a name="bit64anddfa-function"></a> #######################
|
## >>> `bit64andDFA()` subroutine: <<< <a name="bit64anddfa-function"></a> #######################
|
||||||
|
|
||||||
The **bit64andDFA()** function is an alternative to
|
The **bit64andDFA()** function is an alternative to
|
||||||
@@ -1255,6 +1272,7 @@ bit64andDFA(a, b)
|
|||||||
|
|
||||||
2. `B` - Argument is a SAS numeric values.
|
2. `B` - Argument is a SAS numeric values.
|
||||||
|
|
||||||
|
|
||||||
### EXAMPLES AND USECASES: ####################################################
|
### EXAMPLES AND USECASES: ####################################################
|
||||||
|
|
||||||
**EXAMPLE 1.** Basic test of `bit64orDFA()` and `bit64andDFA()`
|
**EXAMPLE 1.** Basic test of `bit64orDFA()` and `bit64andDFA()`
|
||||||
@@ -1290,6 +1308,73 @@ bit64andDFA(a, b)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `bit64ordfa()` function <a name="bit64ordfa-functions-10"></a> ######
|
||||||
|
|
||||||
|
## >>> `bit64orDFA()` subroutine: <<< <a name="bit64ordfa-function"></a> #######################
|
||||||
|
|
||||||
|
The **bit64orDFA()** function is an alternative to
|
||||||
|
the 32 bit bitwise `BOR()` function working on SAS numerics.
|
||||||
|
Allows to work on *up to* 53 bits of SAS numeric value.
|
||||||
|
|
||||||
|
The `bit64orDFA()` is an *internal* function of the `DFA` package.
|
||||||
|
|
||||||
|
### SYNTAX: ###################################################################
|
||||||
|
|
||||||
|
The basic syntax is the following, the `<...>` means optional parameters:
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
|
||||||
|
bit64orDFA(a, b)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
**Arguments description**:
|
||||||
|
|
||||||
|
1. `a` - Argument is a SAS numeric values.
|
||||||
|
|
||||||
|
2. `B` - Argument is a SAS numeric values.
|
||||||
|
|
||||||
|
|
||||||
|
### EXAMPLES AND USECASES: ####################################################
|
||||||
|
|
||||||
|
**EXAMPLE 1.** Basic test of `bit64orDFA()` and `bit64andDFA()`
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
|
||||||
|
options ls = max ps = max;
|
||||||
|
%let M = 53 ; %* 53 is maximum valid value;
|
||||||
|
data _null_;
|
||||||
|
array bitmask [ 0: &M] _temporary_ ;
|
||||||
|
do P = 1 to &M ;
|
||||||
|
bitmask[P] = 2**(P-1) ;
|
||||||
|
put bitmask[P] = binary54. @;
|
||||||
|
put bitmask[P] = best32.;
|
||||||
|
end ;
|
||||||
|
bitmask[0] = bitmask[&M.] ;
|
||||||
|
put bitmask[0] = best32. /;
|
||||||
|
|
||||||
|
a=0;
|
||||||
|
put a = binary54.;
|
||||||
|
do P = 1 to &M ;
|
||||||
|
a = BIT64ORDFA (a, bitmask[P]) ;
|
||||||
|
put a = binary54.;
|
||||||
|
end;
|
||||||
|
put;
|
||||||
|
|
||||||
|
b = 0;
|
||||||
|
put b = binary54./;
|
||||||
|
do P = 1 to &M ;
|
||||||
|
b + (BIT64ANDDFA (a, bitmask[P]) ne .) ;
|
||||||
|
put b = best32.;
|
||||||
|
end;
|
||||||
|
run;
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `%createdfbitmap()` macro <a name="createdfbitmap-macro-11"></a> ######
|
||||||
|
|
||||||
## >>> `%createDFBitmap()` macro: <<< <a name="createdfbitmap-macro"></a> #######################
|
## >>> `%createDFBitmap()` macro: <<< <a name="createdfbitmap-macro"></a> #######################
|
||||||
|
|
||||||
The `%createDFBitmap()` macro allows to generate
|
The `%createDFBitmap()` macro allows to generate
|
||||||
@@ -1346,7 +1431,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
|
|||||||
* `header=` - *Optional*, the default value is `1`. Indicates if
|
* `header=` - *Optional*, the default value is `1`. Indicates if
|
||||||
the `proc fcmp outlib = &outlib.;` header is added to
|
the `proc fcmp outlib = &outlib.;` header is added to
|
||||||
the executed code. If not 1 then no header is added.
|
the executed code. If not 1 then no header is added.
|
||||||
|
|
||||||
**Created function arguments description**:
|
**Created function arguments description**:
|
||||||
|
|
||||||
A function generated by the macro is:
|
A function generated by the macro is:
|
||||||
@@ -1382,6 +1467,7 @@ and accepts the following list of arguments and values:
|
|||||||
|
|
||||||
The `position` and the `value` arguments are **outargs**, i.e. can be changed by the function.
|
The `position` and the `value` arguments are **outargs**, i.e. can be changed by the function.
|
||||||
|
|
||||||
|
|
||||||
### EXAMPLES AND USECASES: ####################################################
|
### EXAMPLES AND USECASES: ####################################################
|
||||||
|
|
||||||
**EXAMPLE 1.** Bitmap of type 32:
|
**EXAMPLE 1.** Bitmap of type 32:
|
||||||
@@ -1534,6 +1620,11 @@ NOTE: DATA statement used (Total process time):
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `generatearrays` exec <a name="generatearrays-exec-12"></a> ######
|
||||||
|
|
||||||
## >>> `generateArrays` exec: <<< <a name="createdhprtqueue-exec"></a> #######################
|
## >>> `generateArrays` exec: <<< <a name="createdhprtqueue-exec"></a> #######################
|
||||||
|
|
||||||
The generateArrays exec file provides a **list of automatically generated examples** of functions
|
The generateArrays exec file provides a **list of automatically generated examples** of functions
|
||||||
@@ -1563,6 +1654,12 @@ The list of provided examples is the following:
|
|||||||
The `outlib=` option is set to `work.DFAfcmp.package`. The `cmplib=` option is updated automatically.
|
The `outlib=` option is set to `work.DFAfcmp.package`. The `cmplib=` option is updated automatically.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## `generatearrays` clean <a name="generatearrays-clean-13"></a> ######
|
||||||
|
|
||||||
## >>> `generateArrays` clean: <<< <a name="createdhprtqueue-clean"></a> #######################
|
## >>> `generateArrays` clean: <<< <a name="createdhprtqueue-clean"></a> #######################
|
||||||
|
|
||||||
The generateArrays clean file clears the list of automatically generated examples of functions
|
The generateArrays clean file clears the list of automatically generated examples of functions
|
||||||
@@ -1572,9 +1669,15 @@ The `cmplib=` option is updated automatically.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## License ####################################################################
|
|
||||||
|
---
|
||||||
Copyright (c) 2019 Bartosz Jablonski
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# License <a name="license"></a> ######
|
||||||
|
|
||||||
|
Copyright (c) 2019 - 2026 Bartosz Jablonski
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -1593,5 +1696,6 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
1701
hist/0.5.8/dfa.md
Normal file
1701
hist/0.5.8/dfa.md
Normal file
File diff suppressed because it is too large
Load Diff
BIN
hist/0.5.8/dfa.zip
Normal file
BIN
hist/0.5.8/dfa.zip
Normal file
Binary file not shown.
Reference in New Issue
Block a user