Date: Mon, 18 Jan 2021 09:26:10 +0200
Hi,
I would like to also suggest the following improvements for the c++
language,
when working with pages where ones looks at compressing ptrs and things to
use less data,
a lot of these operation are needed quite frequency. this really just make
things simpler and more convenient understandable for some to follow what
is going on.
07 April 2020 - Additional Native Ptr BitMap Flags bit position to int or
ptr, value and visa versa visa for languages and CPU
<https://docs.google.com/document/d/1VlxUG9Cvp3YPRyF_CdCkGeGgRyGA0GDp3miDJElAbT4/edit?usp=sharing>
The ability to work with compressed bitMap Flag storage with more native
feel to that of arrays and ptrs, would greatly benefit the manipulation of
massive data sets for index merging selections of large records indicating
included or exclude from and index merging of multiple recordsets super
fast, avoiding comparisons and lookup of records.
The simple concept of arrays Ptr + offset is a new memory address is the
concept one like to natively accelerate, to reduce bit shifting.
So imaging a new set of brackets, called BitMap operator in programming
languages.
BitMapPtr, is typically BitMapType, in the typing system can abstract away
the stride after initialization.
Many of these can have underlying iterators and paging as par the hardware
architecture to speed things up.
Operation Definitions:
-
BitMap to int
BitMapPtr{bitPos}
Converts the bit at the integer bit offset to a number.
Example:
BitMapPtr{8} = 8d or 1000b
BitMapPtr{1} = 1d or 0001b
BitMapPtr{0} = 1d or 0000b
-
BitMap to int, PageSize
BitMapPtr{bitPos, …[BitPageSizeOffset,...,..,..]}
Converts the bit at the integer bit offset to a number plus the
bitPageSizeOffset
Example:
BitMapPtr{8,10} = 18d
BitMapPtr{1,20} = 11d
BitMapPtr{0,20} = 20d
-
BitMap Operator to Address
BitMapPtr+{bitPos, …[BitPageSizeOffset,...,..,...]}
Converts the bit at the integer bit offset to a number plus the
bitPageSizeOffset
Example:
100{8,10} = 118d
200{1,20} = 211d
300{0,20} = 320d
-
BitMap Operator to Value at Address
*BitMapPtr{bitPos, …[BitPageSizeOffset,...,...,..]}
Converts the bit at the integer bit offset to a number plus the
bitPageSizeOffset
Example:
*100{8,10} = value at addres location 118d
*200{1,20} = value at address location 211d
*300{0,20} = vlue at address location 320d
-
BitMap Operator assign Value to Address
*BitMapPtr{bitPos, …[BitPageSizeOffset,..,..,..,..]} = true | false
-
BitMap Operator assign Value to Address
*BitMapPtr{[BitPageSizeOffset]} = bitPos
-
BitMap Operator assign Value to Address
*BitMapPtr{bitPos, …[BitPageSizeOffset,..,...,..], stride = 2} = 3
-
BitMap Operator assign Value to Address
*BitMapPtr{bitPos,[BitPageSizeOffset,..,..,..], stride = 2} = bitValue
-
BitMap Left merge
*{BitMapPtr, stride = 2} <& *{BitMapPtr, stride = 2}
*{BitMapPtr, stride = 2} <& *{BitMapPtr, [BitPageOffset], stride = 2}
-
BitMap merge new result
*{BitMapPtr, stride = 4} = *{BitMapPtr, stride = 2} & *{BitMapPtr, stride =
2}
*{BitMapPtr, [PageOffsetStart,..,..,..], stride = 4} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop], stride = 2} & *{BitMapPtr, stride = 2}
-
BitMap add new result
*{BitMapPtr, [PageOffsetStart,..,..,..], stride = 4} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop], stride = 2} + *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop], stride = 2}
-
BitMap sub new result
*{BitMapPtr, stride = 4} = *{BitMapPtr, stride = 2} - *{BitMapPtr, stride =
1}
*{BitMapPtr, [PageOffsetStart], stride = 4} =
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 2} -
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 1}
-
BitMap sub new result
*{BitMapPtr, stride = 3} = *{BitMapPtr, stride = 1} - *{BitMapPtr, stride =
2}
*{BitMapPtr, [PageOffsetStart], stride = 3} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop], stride = 1} - *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop], stride = 2}
-
BitMap sub new result
*{BitMapPtr, stride = 4} = *{BitMapPtr, stride = 3} - *{BitMapPtr, stride =
1}
*{BitMapPtr, [PageOffsetStart], stride = 4} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop],stride = 3} -
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 1}
-
BitMap subset new result
*{BitMapPtr, stride = 3} = *{BitMapPtr, stride = 3} < *{BitMapPtr, stride =
1}
*{BitMapPtr, [PageOffsetStart], stride = 3} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop],stride = 3} <
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 1}
-
BitMap Superset new result, keeps the commond set awnsers
*{BitMapPtr, stride = 3} = *{BitMapPtr, stride = 3} > *{BitMapPtr, stride =
1}
*{BitMapPtr, [PageOffsetStart], stride = 3} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop],stride = 3} >
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 1}
-
BitMap Superset/Subset in place leftover write result.
*{BitMapPtr, stride = 3} > *{BitMapPtr, stride = 1}
*{BitMapPtr, [PageOffsetStart], [PageOffsetStop],stride = 3} <
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 1}
I would like to also suggest the following improvements for the c++
language,
when working with pages where ones looks at compressing ptrs and things to
use less data,
a lot of these operation are needed quite frequency. this really just make
things simpler and more convenient understandable for some to follow what
is going on.
07 April 2020 - Additional Native Ptr BitMap Flags bit position to int or
ptr, value and visa versa visa for languages and CPU
<https://docs.google.com/document/d/1VlxUG9Cvp3YPRyF_CdCkGeGgRyGA0GDp3miDJElAbT4/edit?usp=sharing>
The ability to work with compressed bitMap Flag storage with more native
feel to that of arrays and ptrs, would greatly benefit the manipulation of
massive data sets for index merging selections of large records indicating
included or exclude from and index merging of multiple recordsets super
fast, avoiding comparisons and lookup of records.
The simple concept of arrays Ptr + offset is a new memory address is the
concept one like to natively accelerate, to reduce bit shifting.
So imaging a new set of brackets, called BitMap operator in programming
languages.
BitMapPtr, is typically BitMapType, in the typing system can abstract away
the stride after initialization.
Many of these can have underlying iterators and paging as par the hardware
architecture to speed things up.
Operation Definitions:
-
BitMap to int
BitMapPtr{bitPos}
Converts the bit at the integer bit offset to a number.
Example:
BitMapPtr{8} = 8d or 1000b
BitMapPtr{1} = 1d or 0001b
BitMapPtr{0} = 1d or 0000b
-
BitMap to int, PageSize
BitMapPtr{bitPos, …[BitPageSizeOffset,...,..,..]}
Converts the bit at the integer bit offset to a number plus the
bitPageSizeOffset
Example:
BitMapPtr{8,10} = 18d
BitMapPtr{1,20} = 11d
BitMapPtr{0,20} = 20d
-
BitMap Operator to Address
BitMapPtr+{bitPos, …[BitPageSizeOffset,...,..,...]}
Converts the bit at the integer bit offset to a number plus the
bitPageSizeOffset
Example:
100{8,10} = 118d
200{1,20} = 211d
300{0,20} = 320d
-
BitMap Operator to Value at Address
*BitMapPtr{bitPos, …[BitPageSizeOffset,...,...,..]}
Converts the bit at the integer bit offset to a number plus the
bitPageSizeOffset
Example:
*100{8,10} = value at addres location 118d
*200{1,20} = value at address location 211d
*300{0,20} = vlue at address location 320d
-
BitMap Operator assign Value to Address
*BitMapPtr{bitPos, …[BitPageSizeOffset,..,..,..,..]} = true | false
-
BitMap Operator assign Value to Address
*BitMapPtr{[BitPageSizeOffset]} = bitPos
-
BitMap Operator assign Value to Address
*BitMapPtr{bitPos, …[BitPageSizeOffset,..,...,..], stride = 2} = 3
-
BitMap Operator assign Value to Address
*BitMapPtr{bitPos,[BitPageSizeOffset,..,..,..], stride = 2} = bitValue
-
BitMap Left merge
*{BitMapPtr, stride = 2} <& *{BitMapPtr, stride = 2}
*{BitMapPtr, stride = 2} <& *{BitMapPtr, [BitPageOffset], stride = 2}
-
BitMap merge new result
*{BitMapPtr, stride = 4} = *{BitMapPtr, stride = 2} & *{BitMapPtr, stride =
2}
*{BitMapPtr, [PageOffsetStart,..,..,..], stride = 4} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop], stride = 2} & *{BitMapPtr, stride = 2}
-
BitMap add new result
*{BitMapPtr, [PageOffsetStart,..,..,..], stride = 4} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop], stride = 2} + *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop], stride = 2}
-
BitMap sub new result
*{BitMapPtr, stride = 4} = *{BitMapPtr, stride = 2} - *{BitMapPtr, stride =
1}
*{BitMapPtr, [PageOffsetStart], stride = 4} =
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 2} -
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 1}
-
BitMap sub new result
*{BitMapPtr, stride = 3} = *{BitMapPtr, stride = 1} - *{BitMapPtr, stride =
2}
*{BitMapPtr, [PageOffsetStart], stride = 3} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop], stride = 1} - *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop], stride = 2}
-
BitMap sub new result
*{BitMapPtr, stride = 4} = *{BitMapPtr, stride = 3} - *{BitMapPtr, stride =
1}
*{BitMapPtr, [PageOffsetStart], stride = 4} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop],stride = 3} -
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 1}
-
BitMap subset new result
*{BitMapPtr, stride = 3} = *{BitMapPtr, stride = 3} < *{BitMapPtr, stride =
1}
*{BitMapPtr, [PageOffsetStart], stride = 3} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop],stride = 3} <
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 1}
-
BitMap Superset new result, keeps the commond set awnsers
*{BitMapPtr, stride = 3} = *{BitMapPtr, stride = 3} > *{BitMapPtr, stride =
1}
*{BitMapPtr, [PageOffsetStart], stride = 3} = *{BitMapPtr,
[PageOffsetStart], [PageOffsetStop],stride = 3} >
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 1}
-
BitMap Superset/Subset in place leftover write result.
*{BitMapPtr, stride = 3} > *{BitMapPtr, stride = 1}
*{BitMapPtr, [PageOffsetStart], [PageOffsetStop],stride = 3} <
*{BitMapPtr,[PageOffsetStart], [PageOffsetStop], stride = 1}
-- ---- GitHub:https://github.com/wesleyolis LinkedIn:https://www.linkedin.com/in/wesley-walter-anton-oliver-85466613b/ Blog/Website:https://sites.google.com/site/wiprogamming/Home Skype: wezley_oliver MSN messenger: wesley.olis_at_[hidden]
Received on 2021-01-18 01:26:26