Skip to content

Conversation

@rmkaplan
Copy link
Contributor

To avoid conflicts when creating fuller.database.

There are still conflicts left. One in particular concerns INVERT.BITMAP.VERTICALLY. There are different definitions of this function in 2 files, SCREENPAPER and EDITBITMAP.

If they are equivalent, is one better than the other? If not equivalent, what's the difference?

To avoid conflicts when creating fuller.database
@nbriggs
Copy link
Contributor

nbriggs commented Aug 25, 2025

The version in SCREENPAPER should definitely be faster, it has an extended argument list though it is compatible with the one in EDITBITMAP. It's not just INVERT.BITMAP.VERTICALLY, though - there's also INVERT.BITMAP.HORIZONTALLY.

The SCREENPAPER versions use PILOTBBT directly to do line-at-a-time, the EDITBITMAP versions use BITMAPBIT to do a bit at a time.

@rmkaplan
Copy link
Contributor Author

rmkaplan commented Aug 25, 2025 via email

@nbriggs
Copy link
Contributor

nbriggs commented Aug 25, 2025

I would leave it be. I don't think it's reasonable to require that we not have multiple function definitions because the function lookup code is deficient.

@nbriggs
Copy link
Contributor

nbriggs commented Aug 25, 2025

Something that just occurred to me - the EDITBITMAP versions will probably work on BIGBM bitmaps - the SCREENBITMAP version almost certainly will not, since the PILOTBBT opcode won't know what to do with a BIGBM - perhaps it'll punt, but probably not.

@rmkaplan
Copy link
Contributor Author

rmkaplan commented Aug 25, 2025 via email

Copy link
Member

@masinter masinter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there an issue about INVERT.BITMAP.VERTICALLY

@rmkaplan
Copy link
Contributor Author

rmkaplan commented Sep 5, 2025 via email

@rmkaplan rmkaplan merged commit 2961670 into master Sep 5, 2025
@nbriggs
Copy link
Contributor

nbriggs commented Sep 5, 2025

I think we need to fix things so that it is possible to locate the version of a function that is in use, and alternatives, not just eliminate the possibility of duplicate named functions in the files that are known

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants