Comments (3)
The length of the bitset should be taken into account.
>> c1
== make bitset! #{FFFF} ;-- "11111111.11111111"
>> c2
== make bitset! [not #{7E}] ;-- "10000001"
>> length? c1
== 16
>> length? c2
== 8
>> c3: c1 and c2
== make bitset! [not #{7E}] ;-- "10000001"
>> length? c3
== 8
c1 and c2
is correct.
from red.
No it's not correct. Length is just an internal implementation detail. Implementation should not drive the design. Design should drive the implementation.
from red.
General rules for bitsets should be:
- Result length should equal the longest operand's length, and may be zero:
>> (charset []) or (charset [not]) == make bitset! [not #{FF}] ;) length was extended leading to wrong result! expected [not #{}]
- Negation flag may be freely set by binary operations depending on whether the trail should be set or not, e.g.:
>> (charset [not]) and (charset []) == make bitset! [not #{}] ;) expected empty set, got full set! >> (charset [not]) and (charset [not]) == make bitset! #{} ;) expected full set, got empty set!
Current builds of Red, R3 and Ren-C I have all fail the bitset math. @Oldes @hostilefork FYI.
from red.
Related Issues (20)
- [Compiler] *** Compilation Error: datatype not allowed HOT 3
- `do string` should execute macros (like `do file` does) HOT 5
- SYMBOL! has no value error HOT 5
- cannot set on-change* field to none! datatype HOT 5
- Moving to a screen with different DPI distorts buttons HOT 15
- Lit-Path and path are molded differently than word + lit-word on body-of object HOT 3
- Crash when attempting to set wrap? of a rich-text para! inside a draw block. HOT 4
- A CRASH when calling `offset-to-caret` inside a face actor. HOT 1
- Rich-text size is inconsistent across various setups. HOT 3
- event/away? stays false when mouse exit face whil LMB is down HOT 6
- email accepts ' which is not allowed HOT 4
- Using wrap VID keyword resets para values.
- There is a conflict between ALL-OVER and DOWN and AWAY flags.
- Set operations welcome optimizations HOT 4
- A CRASH happens when using IN to access a member of an ERROR!.
- JSON interoperability issue HOT 6
- Changing font size and LINE-SPACING in DRAW's RICH-TEXT "disalignes" the BACKDROP.
- Malformed JPG can crash console session HOT 8
- Path may render error message meaningless HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from red.