Handle more than one channel

Look into images.iter_axes = "t" and how to properly choose one channel and loop over time.
Maybe something like
images.iter_axes = "c"
images = images[1]
images.iter_axes = "t"

Seemingly any multi-channel image will produce the same error described issue #12 so implementing this probably requires solving this bug.


Failed inventory restore

After login the player inventory is cleared whitout restore... Plz fix

@mattymatty97 What version are you using?
Do you happen to be using version 2.2?

I tryed both: suggested version on spigotmc
And lastest dev-buld from jenkins


Chaturbate issue (room currently offline)

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2019.11.05
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://chaturbate.com/lovely_monic/']
[debug] Encodings: locale cp1250, fs mbcs, out cp852, pref cp1250
[debug] youtube-dl version 2019.11.05
[debug] Python version 3.4.4 (CPython) - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-94953-gef50cf7b32, ffprobe N-94953-gef50cf7b32
[debug] Proxy map: {}
[Chaturbate] lovely_monic: Downloading webpage
ERROR: Room is currently offline
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp7hc5a0
9v\build\youtube_dl\YoutubeDL.py", line 796, in extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp7hc5a0
9v\build\youtube_dl\extractor\common.py", line 530, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp7hc5a0
9v\build\youtube_dl\extractor\chaturbate.py", line 61, in _real_extract
youtube_dl.utils.ExtractorError: Room is currently offline
Description
It doesn't matter if a model is online, youtube-dl always says that the room is offline. Everything was fine today, the problems started a few hours ago. It seems the site got updated.

Having the same issue, sucks :( Hopefully there is a fix soon

Same

The same issue

Hello, when will official installation be updated with this fix?

the same problem
the site chatrubate now reports that the room is offline but the cam is active and broadcasts

Im having the same problem. Please fix. :( Thanks.

I wrote a temporary fix for anyone else who doesn't want to wait for an official patch. Just replace the file at youtube_dl/extractor/chaturbate.py
The changes are on lines 43 through 48 if you are worried about the security of the changes.
chaturbate.zip

I wrote a temporary fix for anyone else who doesn't want to wait for an official patch. Just replace the file at youtube_dl/extractor/chaturbate.py
The changes are on lines 43 through 48 if you are worried about the security of the changes.
chaturbate.zip

Thanks! It works!

@r33bow Thank you! <3

@r33bow and others - any thought on how to apply this change to a Windows box? I can't swap that file when using the .exe

@r33bow fix works on Windows too, but you have to use source and not the binary.

Install Python for Windows
Install git
Clone this project repo git clone https://github.com/ytdl-org/youtube-dl/
cd youtube-dl
Execute to confirm the same problem as the binary python -m youtube_dl [URL_HERE]
You should get the same result as you were getting with the binary
Replace the ./extractor/chaturbate.py file with the one provided by @r33bow
Re-run the command python -m youtube_dl [URL_HERE]
Should work!

I cannot seem to locate the path to replace the chaturbate.py on my Ubuntu box, where is this located?

I cannot seem to locate the path to replace the chaturbate.py on my Ubuntu box, where is this located?

/usr/lib/python3/dist-packages/youtube_dl
or different python version folder on /usr/lib/

Thanks, I dropped it in there and replaced the file, restarted the server and still nothing.

Oh. The full path is /usr/lib/python3/dist-packages/youtube_dl/extractor
so you need to put it in the extractor folder. And make sure it has 644 permissions (rw-r-r).

noob here, how can i apply this temporary fix in a raspbian (raspberry pi 4 ) installation?
i tried to find the youtube-dl folder but i only find a file  named youtube-dl in /usr/local/bin/

i replaced it but it still wont work for some reason...

@kamikaze87 if you run pip show youtube-dl (or use pip3 depending on how you've installed it) it should show a location parameter.

With both it gives me command not found, i installed it with the curl command, its the first option from here https://ytdl-org.github.io/youtube-dl/download.html

This won't work if you run it from binaries (e.g. exe). You have to run it via python from source using steps described in the linked post. Similar steps should work on any operating system.
https://github.com/ytdl-org/youtube-dl/issues/23010#issuecomment-552109045

Yeah @kamikaze87, run sudo rm /usr/local/bin/youtube-dland then either follow the steps in the comment above or the pip installation steps from that link if you want to be able to patch it this way.

Thank you, installed with pip, applied the fix and its working

Unfortunately, nothing seems to work.
Followed everything and placed the chaturbate.py in the /usr/lib/python2.7/dist-packages/youtube_dl/extractor directory and set permissions to 644. Everything still shows offline.

Same here... I think we will need to wait for a real patch for a fix
On Sun, Nov 10, 2019 at 4:01 PM JeffK<EMAIL_ADDRESS>wrote:

Unfortunately, nothing seems to work.
Followed everything and placed the chaturbate.py in the
/usr/lib/python2.7/dist-packages/youtube_dl/extractor directory and set
permissions to 644. Everything still shows offline.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/23010?email_source=notifications&email_token=ANWYSTWR7TAP54SGXFTCSM3QTCOGVA5CNFSM4JKQFXE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDVKOXA#issuecomment-552249180,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANWYSTU4N6MINHCBR72ZFATQTCOGVANCNFSM4JKQFXEQ
.

tryed it with the fix and it worked with python3.5 but not with python3.4, no idea why...

Interesting, it worked for me using 3.7.5.

for those who can not apply the patch, a workaround is to insert the cookie "cb_legacy=1"
for example:
youtube-dl --add-header "Cookie:cb_legacy=1" https://chaturbate.com/model/
I am not sure how long this will work.

Thx... fix workes for me as well


SPEC 0: drop py310 and support py313

🚀 Pull Request
Description
closes #6177

Looks like python 3.13 is causing a lot of test failures. Most of these seem to be in cml files where I'm seeing &#10 show up a lot. I think this may be due to how python is rendering newlines. Seems like this can't be fixed by rerendering all the cml files since that would break the tests for the older versions so this seems like a bit of a blocker for the moment.

hi folks, we are ready to roll out support for ESMValCore and Python 3.13 in ESMValGroup/ESMValCore#2566 - @bouweandela brought this issue to my attention, do we understand that iris==3.11 doesn't really-really support Python 3.13 and we have to wait for iris==3.12 or an eventual bugfix iris==3.11.1? Cheers muchly! 🍺

The test failures are all caused by a change in XML character representation, which stops us comparing against known-good-outputs. This has made 5% of our tests 'blind' until we can work on a solution. But we have NO evidence of any Iris functionality breaking, and 95% of our tests still work and they show Iris functioning fine. Your own passing tests (https://github.com/ESMValGroup/ESMValCore/pull/2566#issuecomment-2470346860) back this up even more.
So the Iris 'project' cannot support Python 3.13 until we can get our CI working with 3.13; we have no immediate plans for finishing this work as we need space to finish some other things. But it looks like the Iris software supports 3.13 just fine already 👍. This happens with all new Python versions - our users have success with it before we even get a chance to test against it.

hi folks, we are ready to roll out support for ESMValCore and Python 3.13 in ESMValGroup/ESMValCore#2566 - @bouweandela brought this issue to my attention, do we understand that iris==3.11 doesn't really-really support Python 3.13 and we have to wait for iris==3.12 or an eventual bugfix iris==3.11.1? Cheers muchly! 🍺

The test failures are all caused by a change in XML character representation, which stops us comparing against known-good-outputs. This has made 5% of our tests 'blind' until we can work on a solution. But we have NO evidence of any Iris functionality breaking, and 95% of our tests still work and they show Iris functioning fine. Your own passing tests (ESMValGroup/ESMValCore#2566 (comment)) back this up even more.
So the Iris 'project' cannot support Python 3.13 until we can get our CI working with 3.13; we have no immediate plans for finishing this work as we need space to finish some other things. But it looks like the Iris software supports 3.13 just fine already 👍. This happens with all new Python versions - our users have success with it before we even get a chance to test against it.

wonderful, exactly the answer I was looking for, both wrt clarity and content, cheers, Martin! :beer:
@bouweandela we're good to go with  https://github.com/ESMValGroup/ESMValCore/pull/2566 then :firecracker:


Added Maven Central Badge to README.md

Hi there,
No badge in the README.md informs prospective users, that this software is also published to maven central. For me this created the impression that it's just a "playground fork" from @vackosar and not intended for production use.
I suggest to add the badge:

Best,
Max

The command "sudo rm /etc/mavenrc" failed and exited with 1 during .
My assumption is that this build failure is unrelated to the merge request?

Yeah I think it's unrelated. I restarted the build I'll check tomorrow.


Add identifier to lncli fwdinghistory events

Is it possible to add some identifier (payment_hash perhaps) to the events that lncli fwdinghistory displays?

It is worth mentioning that the payment hash does not provide a unique global identification for a forward. This is because:

Forwards of the same payment between different nodes will have different attributes.
When multipart payments are utilized, it is possible to have multiple forwards for the same payment on the same node.


creates .gitignore file

Creates .gitignore file and ensures that RStudio history, MacOS files, and config file are ignored when making commits

Closes issue #11


FutureWarning

FutureWarning: Series.setitem treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To set a value by position, use ser.iloc[pos] = value
self._psar[i] = high2

high1 = self._high.iloc[i - 1]
high2 = self._high.iloc[i - 2]
if high2 > self._psar.iloc[i]:
#self._psar[i] = high2
self._psar.iloc[i] = high2
elif high1 > self._psar.iloc[i]:
self._psar.iloc[i] = high1

This error is related:
/home/felix/PycharmProjects/llava_trader/venv/lib/python3.12/site-packages/ta/wrapper.py:181: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
This bug happens also when using the ta library with backtesting.py (or using any DataFrame slice), sounds like downgrading the Pandas library might help, but I haven't tried this yet personally. Please ta do update the code and thank you for what you have given us already.


UI search should be case insensitive

All search and lookup would IMHO benefit to be case-insensitive. Searching FreeImage as package name yield nothing but freeimage did.

I've opened https://github.com/nexB/vulnerablecode/pull/360 that fixes this, please review


Revert 1 image update from doc

Why:
Closes #2219

What's being changed:
Replaced an old image with correct one.

Check off the following:

[x] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@adsingh14 Was this PR opened for review by mistake? I don't see any files changed 🐢

I replaced an image with via Github file uploader. I was getting error while pushing from local space.

@ramyaparimi I'm getting 'translation' related error. Can you please tell me how to fix this issue?

Please check the PR #10946. I have fixed all merge related issues and commit without any error.


put the right example file

right now it contains scala-js-map example instead of scala-js-pdf-js one

I will update it once I have one.  Thanks for reminding me ;)

Is there any example out there? I am looking for it.

Do not know, but I have my own pdf-js facade inside https://github.com/antonkulaga/scala-js-binding (although it is published separately from binding lib)

I will be updating this library soon.. I have a few more items in front of it before this becomes a priority ... sorry for the delay.

@coreyauger maybe we can figure out how to merge facades that we have? I have a separate pdfjs facade that I use in my projects...

Yea cool.. I will take a look at your project.


Update imports

Updates imports to support the API changes in React Native 0.25
https://github.com/facebook/react-native/releases/tag/v0.25.1
Also adds react and react-native as peerDependencies in the package.json. It's nice to track compatibility, although I did end up adding an npm engine constraint, because npm < 3 handled peerDeps a bit weird. Maybe something you want, maybe not

Fixes #7


tooltipster blocked by iphone copy-paste

Hi, sometimes, the tooltipster does not pop up on my iphone, because if I touch the display the "mark - copy - paste"-function of the iphone blocks it. Can I prevent this?
Kind regards Peter

Hi, make the text not selectable in css with user-select.

Thanks for the quick response!


Update Alternate Current to the official PR (resubmit)

https://github.com/PaperMC/Paper/pull/7701
I'm still testing the new patch, if it works fine this PR will be merged

Oops typo hope no one see that

Collaborator

I saw that 😅


Update README.md

Hello! Before sending a PR please note the following:

make sure the adding cheat-sheet is not in README.md :rocket:

Thanks!

👍


fix(rum): Relax content-type criteria

Description
Improve logic injection for RUM by relaxing the content-type check to match responses that include text/html rather than requiring an exact match.
Changes:

Update Content-Type criteria to allow injection when it contains text/html instead of requiring a strict equality match.
Prevent injection into compressed responses.
Extract the injection criteria into a should_inject function.

Codecov Report
Attention: Patch coverage is 0% with 3 lines in your changes missing coverage. Please review.

Project coverage is 60.89%. Comparing base (7dd0400) to head (b9195f7).

Files with missing lines
Patch %
Lines

mod_datadog/src/utils.h
0.00%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #16      +/-   ##
==========================================
- Coverage   61.37%   60.89%   -0.49%
==========================================
  Files           7        7
  Lines         378      381       +3
  Branches       52       52
==========================================
  Hits          232      232
- Misses        108      111       +3
  Partials       38       38

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Get throttled issue

I just stumbled onto this handy component. Thanks so much for creating it. I don't know for sure if this is related, but ran a dmesg in the ssh console, and saw this:

[46252.366572] WARNING: CPU: 3 PID: 14519 at drivers/firmware/raspberrypi.c:212 get_throttled_show+0x68/0x6c
[46252.369314] deprecated, use hwmon sysfs instead

Thoughts?

rpi4 ?
cause that isnt supported if it is

No, it is a 3b+, running HassOS 3.13, HA core 0.108.8.  Sorry, I should have included that the first time.

well i need some more info like kernel version etc to move forward cause my rpi3b+ doesnt display this
so mind giving me uname -r

@popcornmix have you guys made any changes to calling for get throttled lately ?

uname -r
4.19.114-v7
Also, to provide a little more context, this is the dmesg section right
before and after the warning:
[   66.325110] udevd[181]: starting version 3.2.9
[   66.367388] udevd[182]: starting eudev-3.2.9
[   66.808862] Under-voltage detected! (0x00050005)
[   73.048611] Voltage normalised (0x00000000)
[  109.889082] ------------[ cut here ]------------
[  109.890502] WARNING: CPU: 2 PID: 4406 at
drivers/firmware/raspberrypi.c:212 get_throttled_show+0x68/0x6c
[  109.893224] deprecated, use hwmon sysfs instead
[  109.894573] Modules linked in: nf_conntrack_netlink nfnetlink xfrm_user
xfrm_algo aes_arm_bs crypto_simd cryptd algif_skcipher af_alg bnep hci_uart
btbcm serdev bluetooth ecdh_generic joydev evdev sch_fq_codel uas cdc_acm
spidev raspberrypi_hwmon hwmon brcmfmac brcmutil cfg80211 snd_bcm2835(C)
snd_pcm bcm2835_codec(C) snd_timer bcm2835_v4l2(C) rfkill v4l2_mem2mem snd
i2c_bcm2835 bcm2835_mmal_vchiq(C) videobuf2_vmalloc videobuf2_dma_contig
videobuf2_memops spi_bcm2835 videobuf2_v4l2 videobuf2_common vc_sm_cma(C)
uio_pdrv_genirq uio fixed
[  109.904160] CPU: 2 PID: 4406 Comm: python3 Tainted: G         C
4.19.114-v7 #1
[  109.906860] Hardware name: BCM2835
The "Under-voltage detected...Voltage normalized" messages right before the
warning make me wonder. This one is before the get_throttled_show and
appears to be 6.239749 seconds. All of the messages after are less than 5
seconds.  I noticed that your automation notification has "after 5 seconds"
in it. Is this normal, and why you have the 5 second wait in your
automation, or am I on the edge of a problem?
Thanks for your help!
bl
On Sat, Apr 25, 2020 at 11:25 PM Toast<EMAIL_ADDRESS>wrote:

@popcornmix https://github.com/popcornmix have you guys made any
changes to calling for get throttled lately ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/custom-components/sensor.rpi_power/issues/39#issuecomment-619491512,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIK25XT3HLB263LMUTYMR43ROPHWVANCNFSM4MQ33VOQ
.

well you are on the edge, but that doesn't count out the issue at hand with the deprecated message

Thanks. Please pardon my ignorance, but what does "tainted" mean in this context?

its using older code to execute the task mind giving me your python version also
python -v

See https://github.com/raspberrypi/linux/pull/2706

tnx @popcornmix will change to this

From the linked PR:

Per hwmon sysfs in0_lcrit_alarm must be boolean.

So you only get under-voltage.
The other bits are pi specific so you may be better off with vcgencmd get_throttled if you need them all.

in SSH:
Our command line:
$ ha help
➜  ~ python -v
zsh: command not found: python
➜  ~
In console:
python -v
/bin/ash python not found
I don't understand. What am I missing?
bl
On Sun, Apr 26, 2020 at 10:18 PM Toast<EMAIL_ADDRESS>wrote:

its using older code to execute the task mind giving me your python
version also
python -v
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/custom-components/sensor.rpi_power/issues/39#issuecomment-619726345,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIK25XR27IHYMHIPIX4PCSTROUITTANCNFSM4MQ33VOQ
.

I think I see the problem. I have python3, not python:
➜  ~ python3 -v
import _frozen_importlib # frozen
import _imp # builtin
import '_thread' # <class '_frozen_importlib.BuiltinImporter'>
import '_warnings' # <class '_frozen_importlib.BuiltinImporter'>
import '_weakref' # <class '_frozen_importlib.BuiltinImporter'>
import '_frozen_importlib_external' # <class
'_frozen_importlib.FrozenImporter'>
import '_io' # <class '_frozen_importlib.BuiltinImporter'>
import 'marshal' # <class '_frozen_importlib.BuiltinImporter'>
import 'posix' # <class '_frozen_importlib.BuiltinImporter'>
import _thread # previously loaded ('_thread')
import '_thread' # <class '_frozen_importlib.BuiltinImporter'>
import _weakref # previously loaded ('_weakref')
import '_weakref' # <class '_frozen_importlib.BuiltinImporter'>
installing zipimport hook
import 'time' # <class '_frozen_importlib.BuiltinImporter'>
import 'zipimport' # <class '_frozen_importlib.FrozenImporter'>
installed zipimport hook
/usr/lib/python3.8/encodings/pycache/init.cpython-38.pyc matches
/usr/lib/python3.8/encodings/init.py
code object from
'/usr/lib/python3.8/encodings/pycache/init.cpython-38.pyc'
/usr/lib/python3.8/pycache/codecs.cpython-38.pyc matches
/usr/lib/python3.8/codecs.py
code object from '/usr/lib/python3.8/pycache/codecs.cpython-38.pyc'
import '_codecs' # <class '_frozen_importlib.BuiltinImporter'>
import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at
0x76cb0bb0>
/usr/lib/python3.8/encodings/pycache/aliases.cpython-38.pyc matches
/usr/lib/python3.8/encodings/aliases.py
code object from
'/usr/lib/python3.8/encodings/pycache/aliases.cpython-38.pyc'
import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader
object at 0x76cc8b68>
import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at
0x76cb0aa8>
/usr/lib/python3.8/encodings/pycache/utf_8.cpython-38.pyc matches
/usr/lib/python3.8/encodings/utf_8.py
code object from
'/usr/lib/python3.8/encodings/pycache/utf_8.cpython-38.pyc'
import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader
object at 0x76cb04d8>
import '_signal' # <class '_frozen_importlib.BuiltinImporter'>
/usr/lib/python3.8/encodings/pycache/latin_1.cpython-38.pyc matches
/usr/lib/python3.8/encodings/latin_1.py
code object from
'/usr/lib/python3.8/encodings/pycache/latin_1.cpython-38.pyc'
import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader
object at 0x76cc8c88>
/usr/lib/python3.8/pycache/io.cpython-38.pyc matches
/usr/lib/python3.8/io.py
code object from '/usr/lib/python3.8/pycache/io.cpython-38.pyc'
/usr/lib/python3.8/pycache/abc.cpython-38.pyc matches
/usr/lib/python3.8/abc.py
code object from '/usr/lib/python3.8/pycache/abc.cpython-38.pyc'
import '_abc' # <class '_frozen_importlib.BuiltinImporter'>
import 'abc' # <_frozen_importlib_external.SourceFileLoader object at
0x76cc8fd0>
import 'io' # <_frozen_importlib_external.SourceFileLoader object at
0x76cc8e50>
/usr/lib/python3.8/pycache/site.cpython-38.pyc matches
/usr/lib/python3.8/site.py
code object from '/usr/lib/python3.8/pycache/site.cpython-38.pyc'
/usr/lib/python3.8/pycache/os.cpython-38.pyc matches
/usr/lib/python3.8/os.py
code object from '/usr/lib/python3.8/pycache/os.cpython-38.pyc'
/usr/lib/python3.8/pycache/stat.cpython-38.pyc matches
/usr/lib/python3.8/stat.py
code object from '/usr/lib/python3.8/pycache/stat.cpython-38.pyc'
import '_stat' # <class '_frozen_importlib.BuiltinImporter'>
import 'stat' # <_frozen_importlib_external.SourceFileLoader object at
0x76c70100>
/usr/lib/python3.8/pycache/_collections_abc.cpython-38.pyc matches
/usr/lib/python3.8/_collections_abc.py
code object from
'/usr/lib/python3.8/pycache/_collections_abc.cpython-38.pyc'
import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader
object at 0x76c701f0>
/usr/lib/python3.8/pycache/posixpath.cpython-38.pyc matches
/usr/lib/python3.8/posixpath.py
code object from '/usr/lib/python3.8/pycache/posixpath.cpython-38.pyc'
/usr/lib/python3.8/pycache/genericpath.cpython-38.pyc matches
/usr/lib/python3.8/genericpath.py
code object from
'/usr/lib/python3.8/pycache/genericpath.cpython-38.pyc'
import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object
at 0x76c84958>
import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at
0x76c70a30>
import 'os' # <_frozen_importlib_external.SourceFileLoader object at
0x76cdb7a8>
/usr/lib/python3.8/pycache/_sitebuiltins.cpython-38.pyc matches
/usr/lib/python3.8/_sitebuiltins.py
code object from
'/usr/lib/python3.8/pycache/_sitebuiltins.cpython-38.pyc'
import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader
object at 0x76cdbec8>
/usr/lib/python3.8/pycache/_bootlocale.cpython-38.pyc matches
/usr/lib/python3.8/_bootlocale.py
code object from
'/usr/lib/python3.8/pycache/_bootlocale.cpython-38.pyc'
import '_locale' # <class '_frozen_importlib.BuiltinImporter'>
import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object
at 0x76c84b50>
/usr/lib/python3.8/pycache/types.cpython-38.pyc matches
/usr/lib/python3.8/types.py
code object from '/usr/lib/python3.8/pycache/types.cpython-38.pyc'
import 'types' # <_frozen_importlib_external.SourceFileLoader object at
0x76c84d48>
/usr/lib/python3.8/importlib/pycache/init.cpython-38.pyc matches
/usr/lib/python3.8/importlib/init.py
code object from
'/usr/lib/python3.8/importlib/pycache/init.cpython-38.pyc'
/usr/lib/python3.8/pycache/warnings.cpython-38.pyc matches
/usr/lib/python3.8/warnings.py
code object from '/usr/lib/python3.8/pycache/warnings.cpython-38.pyc'
import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at
0x76ca02b0>
import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at
0x76ca00d0>
/usr/lib/python3.8/importlib/pycache/util.cpython-38.pyc matches
/usr/lib/python3.8/importlib/util.py
code object from
'/usr/lib/python3.8/importlib/pycache/util.cpython-38.pyc'
/usr/lib/python3.8/importlib/pycache/abc.cpython-38.pyc matches
/usr/lib/python3.8/importlib/abc.py
code object from
'/usr/lib/python3.8/importlib/pycache/abc.cpython-38.pyc'
/usr/lib/python3.8/importlib/pycache/machinery.cpython-38.pyc matches
/usr/lib/python3.8/importlib/machinery.py
code object from
'/usr/lib/python3.8/importlib/pycache/machinery.cpython-38.pyc'
import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader
object at 0x76ca0c88>
import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader
object at 0x76ca0748>
/usr/lib/python3.8/pycache/contextlib.cpython-38.pyc matches
/usr/lib/python3.8/contextlib.py
code object from
'/usr/lib/python3.8/pycache/contextlib.cpython-38.pyc'
/usr/lib/python3.8/collections/pycache/init.cpython-38.pyc
matches /usr/lib/python3.8/collections/init.py
code object from
'/usr/lib/python3.8/collections/pycache/init.cpython-38.pyc'
/usr/lib/python3.8/pycache/operator.cpython-38.pyc matches
/usr/lib/python3.8/operator.py
code object from '/usr/lib/python3.8/pycache/operator.cpython-38.pyc'
import '_operator' # <class '_frozen_importlib.BuiltinImporter'>
import 'operator' # <_frozen_importlib_external.SourceFileLoader object at
0x76c4e4f0>
/usr/lib/python3.8/pycache/keyword.cpython-38.pyc matches
/usr/lib/python3.8/keyword.py
code object from '/usr/lib/python3.8/pycache/keyword.cpython-38.pyc'
import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at
0x76c4e640>
/usr/lib/python3.8/pycache/heapq.cpython-38.pyc matches
/usr/lib/python3.8/heapq.py
code object from '/usr/lib/python3.8/pycache/heapq.cpython-38.pyc'
extension module 'heapq' loaded from '/usr/lib/python3.8/lib-dynload/
heapq.cpython-38-arm-linux-gnueabihf.so'
extension module 'heapq' executed from '/usr/lib/python3.8/lib-dynload/
heapq.cpython-38-arm-linux-gnueabihf.so'
import '_heapq' # <_frozen_importlib_external.ExtensionFileLoader object at
0x76c4eaa8>
import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at
0x76c4e6e8>
import 'itertools' # <class '_frozen_importlib.BuiltinImporter'>
/usr/lib/python3.8/pycache/reprlib.cpython-38.pyc matches
/usr/lib/python3.8/reprlib.py
code object from '/usr/lib/python3.8/pycache/reprlib.cpython-38.pyc'
import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at
0x76c4eeb0>
import '_collections' # <class '_frozen_importlib.BuiltinImporter'>
import 'collections' # <_frozen_importlib_external.SourceFileLoader object
at 0x76c375e0>
/usr/lib/python3.8/pycache/functools.cpython-38.pyc matches
/usr/lib/python3.8/functools.py
code object from '/usr/lib/python3.8/pycache/functools.cpython-38.pyc'
import '_functools' # <class '_frozen_importlib.BuiltinImporter'>
import 'functools' # <_frozen_importlib_external.SourceFileLoader object at
0x76c37688>
import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object
at 0x76ca0e38>
import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader
object at 0x76c84f88>
possible namespace for /usr/lib/python3.8/site-packages/ruamel
import 'site' # <_frozen_importlib_external.SourceFileLoader object at
0x76cdb4d8>
Python 3.8.2 (default, Feb 29 2020, 17:03:31)
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
extension module 'readline' loaded from '/usr/lib/python3.8/lib-dynload/
readline.cpython-38-arm-linux-gnueabihf.so'
extension module 'readline' executed from '/usr/lib/python3.8/lib-dynload/
readline.cpython-38-arm-linux-gnueabihf.so'
import 'readline' # <_frozen_importlib_external.ExtensionFileLoader object
at 0x76c5aa00>
import 'atexit' # <class '_frozen_importlib.BuiltinImporter'>
/usr/lib/python3.8/pycache/rlcompleter.cpython-38.pyc matches
/usr/lib/python3.8/rlcompleter.py
code object from
'/usr/lib/python3.8/pycache/rlcompleter.cpython-38.pyc'
import 'rlcompleter' # <_frozen_importlib_external.SourceFileLoader object
at 0x76c5aeb0>
On Mon, Apr 27, 2020 at 7:42 AM Bill Lyons<EMAIL_ADDRESS>wrote:

in SSH:
Our command line:
$ ha help
➜  ~ python -v
zsh: command not found: python
➜  ~
In console:
python -v
/bin/ash python not found
I don't understand. What am I missing?
bl
On Sun, Apr 26, 2020 at 10:18 PM Toast<EMAIL_ADDRESS>wrote:

its using older code to execute the task mind giving me your python
version also
python -v
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/custom-components/sensor.rpi_power/issues/39#issuecomment-619726345,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIK25XR27IHYMHIPIX4PCSTROUITTANCNFSM4MQ33VOQ
.

https://github.com/home-assistant/core/pull/35527
rpi power will probly get merged and the issue will get resolved by hassio devs :)


OpenSCAP autotailoring stage

This pull request adds autotailoring support for openscap customizations.
These customizations allow users to override specific OpenSCAP rules which
are passed to the autotailor stage which is responsible for creating the tailoring
file.
This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

Thanks for the feedback @jan-cerny... so the customizations here is internal api for how a user-provided bluepritn customizations are used when building the image - I can update the comments and commit messages to make this clearer.
The autotailor stage is a stage that wraps the autotailor binary so that's why I named it as such, but I don't feel strongly on this... @thozza do you have any opinions?

The autotailor stage is a stage that wraps the autotailor binary so that's why I named it as such, but I don't feel strongly on this... @thozza do you have any opinions?

I do :sweat_smile:. See https://github.com/osbuild/images/pull/43#discussion_r1281695407


sdk: Add concepts and plan for the program SDK

NOT MEANT TO BE MERGED, JUST WANTED A PLACE TO DISCUSS
This is an outline / project plan for the SDK. Your time and input will be very appreciated

I like that the plan is focused on the program SDK for now. For that reason, maybe we don't include the "phases" as you have them, since phase 2 is for the SDK?

@buffalojoec yeah that makes sense... I mainly wanted it to be clear that the SDK wasn't forgotten!

Realize this is being targeted at program related stuff in sdk, but I wonder what the plan is for other stuff that is not exposed to programs. Signature for example is a "fundamental" type that forces a bunch of crates to pull in all of sdk just for it.

Realize this is being targeted at program related stuff in sdk, but I wonder what the plan is for other stuff that is not exposed to programs. Signature for example is a "fundamental" type that forces a bunch of crates to pull in all of sdk just for it.

This plan is limited to program SDK out of laziness, but the idea is to do the same thing for non-program SDK too, and Signature is such a good example of something that should get split out.

Thanks for the discussions here everyone! Feel free to follow along the project implementation at https://github.com/orgs/anza-xyz/projects/12. I'm closing this issue, but feel free to bring up any other questions on the SDK channel in Discord


Windows 8.1 WinRM never setup

WinRM setup never happens on Windows 8.1. It has to be manually kicked off before packer can connect.

it looks like the script disables the service

This might a similar fix to one that was submitted recently to chef/bento for Windows 10, I'll take a peek and see if this is still an issue, as I suddenly found myself with a need to build Windows 8.1 again.

This issue and template/eval-win2008r2-standard-no-cm-0.1.0.box still asking you to choose the wim image is actually first on my todo. So if someone gets to this one first, lmk and I'll merge it.

I was just able to build eval-win81x86-enterprise and eval-win81x64-enterprise while testing out PRs #239 and #240. Do you recall if this was happening in the regular win81x*-*.json templates? If not, this issue might've been indirectly fixed...

This has been closed by PR #243. If it isn't please let me know and I'll re-open.


AV-741: Fallback to parent organization name if no title can be deduced

Parent organization select form widget, in some rare cases like migration issues, showed None for parent organization option labels because no translated title could be deduced. Fallback to organization name in these cases.

Git mistake, closing.


Update scala version

Attempts a stab at #145 by introducing a flag updates.includeScala which when set to true (default: false) updates scala version as well
Tested this on a personal repo and it works, although needs some more work to update unit tests and docs (and of course a thorough review since I still feel new to the codebase)

This is ready to be reviewed
The codecov pr build failure however is a false positive since added code increases the coverage

This is awesome job 👍
It would be great if this feature also update scala versions in .travis.yml, since many Scala OSSs uses Travis as their CI.

Thanks @exoego , this is just the start, not planning to cover other enhancements here yet
Enhancements

Updating scala version in other files (ex: .travis.yml)
Running scalafix for scala major version upgrades

@fthomas please take a look and let me know your thoughts/comments

Its not entirely working as I expected. It should not update the major scala version in crossScalaVersions. For example: https://github.com/erikvanoosten/metrics-scala/pull/245/files

yeah, we'd have many bad PRs like this since its experimental 😬


Issue with exporting reports

Hi, I'm currently using the 0.5.14 version of the PCWG tool, and when I try to export a report based on the accompanying Dataset 1, I get the following error message:
ERROR Exporting Report: Unexpected data type <type 'numpy.int64'>
How do I avoid this? I am not particularly experienced with programming, I'm just using the program as a part of my internship.

Hi @jnmosullivan
These errors are quite hard for us to debug without seeing the analysis and dataset configuration xmls files. As your example currently is based on the open source PCWG dataset 1, would you mind sharing the xml config files? This would enable me to debug the issue properly.
If you are indeed happy to share these two xml files, they can be attached to a comment on this issue thread. You may need to put them in a zip file first GitHub restricts the extensions allowed for attached files.
Thanks.

Here they are. I can see now that my original message did not include the complete error message (I assume the triangle brackets made github see it as markup). The error message says that the unexpected datatype is numpy.int64 if that helps in any way.
jnmo.zip

This was due to the fact that xlwt (package we use to write the Excel report) requires all numerical data to be recognisable as type int or float. numpy.int64 type is not recongised as int (isinstance(np.int64(1), int) returns False, whereas isinstance(np.int32(1), int) returns True). I am about to push a fix.
@jnmosullivan This will then be fixed in the Python code but will not be in the Windows executable until next release. I think we intend to release a new version very soon.

Hi @jnmosullivan ,
We have now released version version 0.6.0 which will enable you to export your report.
There is a small change in the structure of the dataset and analysis configuration xmls that you will see highlighted in the v0.6.0 release notes; some turbine details (hub height, diameter, rated power, cut out/in wind speed) have been moved from analysis configuration to dataset configuration. I have updated your xml configuration files to reflect this change and attached them to in the zip file below. Please use these to run your analysis with the new version of the tool.
Issue 148 configs.zip


Feat/points earning showcase

Choose any person from https://autonolas-contribute-frontend-git-feat-points-c87471-autonolas.vercel.app/leaderboard

Loading state
Success state
Empty state
Error state

i get this on clicking nonStopTheo from leaderboard.
Chrome, Windows, Metamask only.

Also all my tweets only earned 100 points 😭
@oaksprout I can improve shuffling a little, out of 63 tweets you have 10 that earn more than 100 points, I can randomly get 3 from those. wdyt?


regression in shared folder handling

related to #896
 ➤ Executing task deploy:shared
> export APPLICATION_ENV='test'; if [ -d /var/www/dimauta/shared/data/cache/ ]; then echo 'true'; fi
< true
> export APPLICATION_ENV='test'; rm -rf /var/www/dimauta/releases/1/data/cache/
> export APPLICATION_ENV='test'; mkdir -p `dirname /var/www/dimauta/releases/1/data/cache/`
> export APPLICATION_ENV='test'; ln -nfs --relative /var/www/dimauta/shared/data/cache/ /var/www/dimauta/releases/1/data/cache/
< ln: target '/var/www/dimauta/releases/1/data/cache/' is not a directory: No such file or directory

deploy.php config i have
add('shared_dirs', ['data/cache/']);
add('writable_dirs', ['data/cache/']);

it seems dirname /var/www/dimauta/releases/1/data/cache/ returns upper dir /var/www/dimauta/releases/1/data/ and does not create all the way recursively so the cache subfolder is missing and symlink fails
Deployer 6.7.3

I am cleaning up on issues. Fill free to reopen if needed.
Also, we have a new section available: discussions.

was fixed with https://github.com/deployphp/deployer/commit/112601294c3c76273322ecc4e5f995e34f27b6f6


Error in code...

When we have no ENV variables setted (to disable whatsapp messages), the file WhatsAppCloudApiApp.php do an error in line 38 telling:
Cannot assign null to property Netflie\WhatsAppCloudApi\WhatsAppCloudApiApp::$from_phone_number_id of type string
But, the 'null' is set in your own code!!!
My services.php tried so hard to set empty string, but it´s not solved this issue:
'whatsapp' => [
'from-phone-number-id' => env('WHATSAPP_ID', '')??'',
'token' => env('WHATSAPP_TOKEN', '')??'',
],
I need an easy way to enable/disable WhatsApp messages in project.  The fastest way is #comment lines in env file.  But it´s not work because we got this error.

Hi @CeloGomesBR fixed in the release will be released today.
See https://github.com/netflie/whatsapp-cloud-api/pull/152


dart ffi: error code 126

Hi, I got an error like this when trying to use ffi to load the librdkafka library.
Unhandled exception:
Invalid argument(s): Failed to load dynamic library 'C:\Projects\Dart\ffi_demo\library\librdkafka.dll': error code 126
#0      _open (dart:ffi-patch/ffi_dynamic_library_patch.dart:11:43)
#1      new DynamicLibrary.open (dart:ffi-patch/ffi_dynamic_library_patch.dart:22:12)
#2      main (file:///C:/Projects/Dart/ffi_demo\/bin/main.dart:26:36)
#3      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#4      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:192:26)

I obtained the librdkafka.dll file from NuGet.
https://www.nuget.org/packages/librdkafka.redist/
and here's my code:
import 'dart:ffi' as ffi;
import 'dart:io' show Platform, Directory;

import 'package:path/path.dart' as path;

void main() {
  final libraryPath = path.join(Directory.current.path, 'library', 'librdkafka.dll');
  final dylib = ffi.DynamicLibrary.open(libraryPath);
}

Dart SDK version: 2.19.3
OS: Windows 11 22H2 build 22621.1344

I have checked some of the dependencies required by librdkafka.dll using this tool:

KERNEL32.dll
libcrypto-3-x64.dll
libcurl.dll
libssl-3-x64.dll
zlib1.dll
zstd.dll
Secur32.dll
WS2_32.dll
CRYPT32.dll

And I have put all of them into one folder along with librdkafka.dll. However, I am still getting the same error.

Similar issue:

https://github.com/flutter/flutter/issues/58079

Can you check whether the file exists with File.existsSync() just to be sure the path-handling (separators etc) is correct?

I have checked some of the dependencies required by librdkafka.dll using this tool:

KERNEL32.dll
libcrypto-3-x64.dll
libcurl.dll
libssl-3-x64.dll
zlib1.dll
zstd.dll
Secur32.dll
WS2_32.dll
CRYPT32.dll

And I have put all of them into one folder along with librdkafka.dll. However, I am still getting the same error.

And this would indeed my second suggestion.
Did you get it to work?

Can you check whether the file exists with File.existsSync() just to be sure the path-handling (separators etc) is correct?

The path is correct since File.existsSync() returns true

Did you get it to work?

No, currently still stuck at loading the librdkafka library

You could try running dart.exe with the right arguments in the visual studio debugger.

I can load other DLLs fine, for example like the hello.dll from the official example or the libcurl.dll from above. However, when I try to load this librdkafka.dll, an error occurs.

I'm having the same issue when compiling OpenCV.
I'm able to use WSL to compile OpenCV to a .so library, run dart run ffigen to generate bindings and everything works in Dart. This however, isn't ideal since WSL cannot access USB devices or webcams, which means I can't actually stream any video.
So I tried the process again on Windows. I used Visual Studio to generate a whole bunch of .dlls with cmake . in opencv\build\bin\Debug, but when I load one, Dart gives an error 126. This error does not occur when building other, simpler C projects on Windows.

You had to add the folder which contain all dll's to system environment variables path??

I'm having the same issue when compiling OpenCV.
I can use WSL to compile OpenCV to a .so library, run dart run ffigen to generate bindings and everything works in Dart. This, however, isn't ideal since WSL cannot access USB devices or webcams, which means I can't actually stream any video.
So I tried the process again on Windows. I used Visual Studio to generate a whole bunch of .dlls with cmake . in opencv\build\bin\Debug, but Dart gives an error 126 when I load one. This error does not occur when building other, simpler C projects on Windows.
I'm happy to provide more details if needed.
EDIT: I seemed to have fixed it by adding the folder with all the DLL's to my system path. I thought that wouldn't be needed since they were in the same folder together but since my terminal isn't in that folder, it didn't matter.

You had to add the folder which contain all dll's to system environment variables path??

I believe so.
In Linux, there is an environment variable called LD_LIBRARY_PATH, which allows Linux to find .so files when they are linked at runtime. It's like the normal PATH variable on Windows, but exclusively for linked libraries.
Windows doesn't have another path variable like this (or at least, I didn't try one), so adding it to the system/user PATH is good enough. Of course, if your terminal is already in this folder, you don't need to add it, but in some cases you do:
myProject/
- bin/
  - project.exe
  - library.dll

If your terminal is in myProject, and you run bin\project.exe, then library.dll is not in your PATH or the current working directory (that would be myProject), so you need to add it to your PATH.
The way I get around it is by assuming my terminal is in myProject and making the code reference the .dll from there, so DynamicLibrary.open("bin/library.dll"). I also generate my .dlls in the root folder sometimes, when that's more convenient.

我也遇到了同样的问题,package:media_kit_libs_windows_video registered.
flutter: The Dart VM service is listening on http://<IP_ADDRESS>:64215/L7pBwHnMVho=/
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Invalid argument(s): Failed to load dynamic library 'rust_lib_pv_player_new.dll': The specified module could not be found.
 (error code: 126)
#0      _open (dart:ffi-patch/ffi_dynamic_library_patch.dart:11:43)
#1      new DynamicLibrary.open (dart:ffi-patch/ffi_dynamic_library_patch.dart:22:12)
#2      new ExternalLibrary.open (package:flutter_rust_bridge/src/platform_types/_io.dart:42:47)
#3      loadExternalLibraryRaw. (package:flutter_rust_bridge/src/loader/_io.dart:62:46)
#4      loadExternalLibraryRaw.tryAssumingNonPackaged (package:flutter_rust_bridge/src/loader/_io.dart:49:22)
#5      loadExternalLibraryRaw (package:flutter_rust_bridge/src/loader/_io.dart:61:12)
#6      loadExternalLibrary (package:flutter_rust_bridge/src/loader/_io.dart:14:10)
#7      BaseEntrypoint._loadDefaultExternalLibrary (package:flutter_rust_bridge/src/main_components/entrypoint.dart:141:13)
#8      BaseEntrypoint.initImpl (package:flutter_rust_bridge/src/main_components/entrypoint.dart:48:31)
#9      RustLib.init (package:pv_player_new/src/rust/frb_generated.dart:28:20)
#10     main (package:pv_player_new/main.dart:15:17)

我也遇到了同样的问题,package:media_kit_libs_windows_video registered. flutter: The Dart VM service is listening on http://<IP_ADDRESS>:64215/L7pBwHnMVho=/ [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Invalid argument(s): Failed to load dynamic library 'rust_lib_pv_player_new.dll': The specified module could not be found.  (error code: 126) #0      _open (dart:ffi-patch/ffi_dynamic_library_patch.dart:11:43) #1      new DynamicLibrary.open (dart:ffi-patch/ffi_dynamic_library_patch.dart:22:12) #2      new ExternalLibrary.open (package:flutter_rust_bridge/src/platform_types/_io.dart:42:47) #3      loadExternalLibraryRaw. (package:flutter_rust_bridge/src/loader/_io.dart:62:46) #4      loadExternalLibraryRaw.tryAssumingNonPackaged (package:flutter_rust_bridge/src/loader/_io.dart:49:22) #5      loadExternalLibraryRaw (package:flutter_rust_bridge/src/loader/_io.dart:61:12) #6      loadExternalLibrary (package:flutter_rust_bridge/src/loader/_io.dart:14:10) #7      BaseEntrypoint._loadDefaultExternalLibrary (package:flutter_rust_bridge/src/main_components/entrypoint.dart:141:13) #8      BaseEntrypoint.initImpl (package:flutter_rust_bridge/src/main_components/entrypoint.dart:48:31) #9      RustLib.init (package:pv_player_new/src/rust/frb_generated.dart:28:20) #10     main (package:pv_player_new/main.dart:15:17)

I have solved the problem that flutter compiles without copying dependency packages in the environment to its own directory


Weather Overlay test is broken

Required information
In order to help us sort your issue, we ask that you provide the following information:

[ ] Mac model: M1, 2020
[ ] macOS version: 13.0 (22A380)
[ ] Monitor setup: 1 monitor
[ ] Aerial 3.2.1

Description of issue / Feature request

Testing the Weather overlay does nothing.
Weather informatoin displayed is wrong. e.g. currently

Shown in Aerial

Ah, suddenly the test did work. Looks like the weather is for the wrong city.

Also, the instructions are conflicting. It shows using a state abbreviation but also says not to abbreviate. Note, neither "santa clara, california, USA" nor "santa clara, ca, USA" work.

Hey @mbierman
In general city lookup is powered by OpenWeather and what gets replied can depend from time to time, it seems like they are constantly tweaking their servers.
I specifically modified the text yesterday because someone from the US said that doing City, State, USA was the way to go for the USA, but that may not have been correct. It looks like Open Weather's lookup can be weird at time specifically for the US, so I'm not sure what I should even put there.
Regarding current location, be aware that if you open settings via Companion, location will not work unless you allow Companion to use location services in System Settings, on top of doing it for legacyScreenSaver for the regular panel.
Hope that clears things up a bit.

Also, I just did some more testing :
Santa Clara, CA <- says City doesn't exist (you may have to resize the panel a bit if you don't see the message)
Santa Clara, USA <- works
Santa Clara, CA, USA <- works
I had a 3rd party check those results with same results, so I think the current recommendation (always put , USA at the end, and add state if needed for disambiguation) is correct.

I specifically modified the text yesterday because someone from the US said that doing City, State, USA was the way to go for the USA, but that may not have been correct. It looks like Open Weather's lookup can be weird at time specifically for the US, so I'm not sure what I should even put there.

Here's the API
https://openweathermap.org/api/geocoding-api

And note

Regarding current location, be aware that if you open settings via Companion, location will not work unless you allow Companion to use location services in System Settings, on top of doing it for legacyScreenSaver for the regular panel.

I was only looking at Aerial itself, not Companion.

Santa Clara, US works correctly
Santa Clara, CA, US works correctly.
Santa Clara, USA and Santa Clara, CA, USA  Is the wrong city (in another country).

USA is not the right country code and in the US states must be two letter abbreviations as best I can tell.

Thanks a whole lot for digging in @mbierman I'll fix a bit the documentation and put an example such as :
"Cupertino, CA, US" which should tell everyone in the US how to handle their case.

@mbierman this is the new text :

Manually specify : Simply enter your location as the name of your city, followed by a country abbreviation. In the United States, to remove ambiguity, you can also add a state abbreviation  (e.g. Cupertino, CA, US).

I think this should solve this issue ? Same example is in placeholder for next build too.


Reg giving input

How to force the input for  operand_a,operand_b packed array if I gave in any format it is providing error

Hello, thanks for your attention!
But I don't quite understand your question. Could you please give a more detailed explanation or an example?

how to give the input it displays the following error Please provide me the
format to give the input operand_a and operand_b.
If I wrote the test bench I got the output as 0 I am not getting any result
On Sun, Mar 3, 2024 at 2:16 PM Qiong Li @.***> wrote:

Hello, thanks for your attention!
But I don't quite understand your question. Could you please give a more
detailed explanation or an example?
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975089409, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBPQEZDZRX6VAOFY6T3YWLPPZAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVGA4DSNBQHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

how to give the input it displays the following error Please provide me the
format to give the input operand_a and operand_b.
If I wrote the test bench I got the output as 0 I am not getting any result
i have attached the ss of error I got
On Sun, Mar 3, 2024 at 2:16 PM Qiong Li @.***> wrote:

Hello, thanks for your attention!
But I don't quite understand your question. Could you please give a more
detailed explanation or an example?
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975089409, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBPQEZDZRX6VAOFY6T3YWLPPZAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVGA4DSNBQHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

I cannot see the error report you attached. But your question is how to assign values to operand_a and operand_b in testbench?
In top module,  operand_a is defined as follows: input logic [N-1:0][n_i-1:0] operands_a. Assuming N=4 and n_i=8, you can give the input operand_a in testbench as follows: operand_a = {8'h12, 8'h34, 8'h56, 8'h78} or operand_a = 32'h12345678. The assignment of operand_b is the same.
Hope it helps you.

Without writing testbench Can I  apply the input through forcing the value
by stimulating it
I have attached the screenshot
It shows the error as
force -freeze sim:/pdpu_top/operands_a {{10111010 111011111 10000000
11011010}} 0
Array element type is not a character type.
** Error: (vsim-4011) Invalid force value: {{10111010 111011111 10000000
11011010}} 0.
what is the valid force value
can you help me in solving the above error
On Sun, Mar 3, 2024 at 6:03 PM Qiong Li @.***> wrote:

I cannot see the error report you attached. But your question is how to
assign values to operand_a and operand_b in testbench?
In top module, operand_a is defined as follows: input logic
[N-1:0][n_i-1:0] operands_a. Assuming N=4 and n_i=8, you can give the
input operand_a in testbench as follows: operand_a = {8'h12, 8'h34,
8'h56, 8'h78} or operand_a = 32'h12345678. The assignment of operand_b is
the same.
Hope it helps you.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975145733, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBN7QP2VPQTZKFLGK4LYWMKAPAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVGE2DKNZTGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

module tbpdpu;
reg [3:0][7:0]operands_a;
reg [3:0][7:0]operands_b;
reg [15:0] acc;
reg [15:0] result_o;
parameter int unsigned N = 4;                   // dot-product size
parameter int unsigned n_i = 8;                 // word size
parameter int unsigned es_i = 2;                // exponent size
parameter int unsigned n_o = 16;
parameter int unsigned es_o = 2;
parameter int unsigned ALIGN_WIDTH = 14;
pdpu_top
#(.N(N),.n_i(n_i),.es_i(es_i),.n_o(n_o),.es_o(es_o),.ALIGN_WIDTH(ALIGN_WIDTH))
dut(.operands_a(operands_a),.operands_b(operands_b),.acc(acc),.result_o(result_o));
initial
begin
operands_a[0]=8'b01010000;
operands_a[1]=8'b00000000;
operands_a[2]=8'b00000000;
operands_a[3]=8'b00000001;
operands_b[0]=8'b00000000;
operands_b[1]=8'b00000000;
operands_b[2]=8'b00000010;
operands_b[3]=8'b00000000;
acc=16'b0000000000000000;
end;
always
begin
#10 operands_a[0]=8'b00000011;
#10 operands_a[1]=8'b00011100;
#10 operands_a[2]=8'b00000000;
#10 operands_a[3]=8'b00000000;
#10 operands_b[0]=8'b11111111;
#10 operands_b[1]=8'b11111111;
#10 operands_b[2]=8'b11111111;
#10 operands_b[3]=8'b11111111;
#10 acc=16'b0001011111111001;
// Display the result
I have wrote this testbench But Im not getting any output the result I have
obtained is<PHONE_NUMBER>000000
Can u help me in sloving this error
On Sun, Mar 3, 2024 at 6:11 PM Deva tharshini @.***>
wrote:

Without writing testbench Can I  apply the input through forcing the value
by stimulating it
I have attached the screenshot
It shows the error as
force -freeze sim:/pdpu_top/operands_a {{10111010 111011111 10000000
11011010}} 0
Array element type is not a character type.
** Error: (vsim-4011) Invalid force value: {{10111010 111011111 10000000
11011010}} 0.
what is the valid force value
can you help me in solving the above error
On Sun, Mar 3, 2024 at 6:03 PM Qiong Li @.***> wrote:

I cannot see the error report you attached. But your question is how to
assign values to operand_a and operand_b in testbench?
In top module, operand_a is defined as follows: input logic
[N-1:0][n_i-1:0] operands_a. Assuming N=4 and n_i=8, you can give the
input operand_a in testbench as follows: operand_a = {8'h12, 8'h34,
8'h56, 8'h78} or operand_a = 32'h12345678. The assignment of operand_b
is the same.
Hope it helps you.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975145733, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBN7QP2VPQTZKFLGK4LYWMKAPAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVGE2DKNZTGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

There is an error in the always block you wrote in your testbench. You should assign values to all inputs (including operands_a and operands_b) at the same time.
For example, the testbench can be revised as follows:
`timescale 1ns/1ps
module tbpdpu;
   ...

  // change the `always` block to `initial` block
  initial
  begin
    #10;
    operands_a[0]=8'b00000011;
    operands_a[1]=8'b00011100;
    operands_a[2]=8'b00000000;
    operands_a[3]=8'b00000000;
    operands_b[0]=8'b11111111;
    operands_b[1]=8'b11111111;
    operands_b[2]=8'b11111111;
    operands_b[3]=8'b11111111;
    // `acc` has been initialized to zero in the former `initial` block

    #10;  // wait for computation
    // Display the result `result_o`

  end

Thank you, I will do that.
On Sun, Mar 3, 2024 at 8:58 PM Qiong Li @.***> wrote:

There is an error in the always block you wrote in your testbench. You
should assign values to all inputs (including operands_a and operands_b) at
the same time.
For example, the testbench can be revised as follows:
`timescale 1ns/1ps
module tbpdpu;
...
// change the always block to initial block
initial
begin
#10;
operands_a[0]=8'b00000011;
operands_a[1]=8'b00011100;
operands_a[2]=8'b00000000;
operands_a[3]=8'b00000000;
operands_b[0]=8'b11111111;
operands_b[1]=8'b11111111;
operands_b[2]=8'b11111111;
operands_b[3]=8'b11111111;
// acc has been initialized to zero in the former initial block
#10;  // wait for computation
// Display the result `result_o`

end
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975197491, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBLTKW3YILN4VQQRQHLYWM6SXAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVGE4TONBZGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

assign result_o = input_not_zero ? normal_result : '0;
The above line is from the module "module posit_encoder #"   shows the
result as
result_o =<PHONE_NUMBER>000000 if the “ result_o=input_not_zero ?
normal_result : *'0 *” is 0(the bolded value)
and it also shows result_o =<PHONE_NUMBER>111111 if the “ result_o =
input_not_zero ? normal_result :* '0* ” is 1(the bolded value).
Can you please the explain the line “result_o = input_not_zero ?
normal_result : '0;” and what is meant by input_not_zero and
normal_result? And what is the purpose of ternary operator in the above
line and provide us the code which shows the correct
value of result_o.
On Sun, Mar 3, 2024 at 10:22 PM Deva tharshini @.***>
wrote:

Thank you, I will do that.
On Sun, Mar 3, 2024 at 8:58 PM Qiong Li @.***> wrote:

There is an error in the always block you wrote in your testbench. You
should assign values to all inputs (including operands_a and operands_b) at
the same time.
For example, the testbench can be revised as follows:
`timescale 1ns/1ps
module tbpdpu;
...
// change the always block to initial block
initial
begin
#10;
operands_a[0]=8'b00000011;
operands_a[1]=8'b00011100;
operands_a[2]=8'b00000000;
operands_a[3]=8'b00000000;
operands_b[0]=8'b11111111;
operands_b[1]=8'b11111111;
operands_b[2]=8'b11111111;
operands_b[3]=8'b11111111;
// acc has been initialized to zero in the former initial block
#10;  // wait for computation
// Display the result `result_o`

end
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975197491, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBLTKW3YILN4VQQRQHLYWM6SXAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVGE4TONBZGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

can u please explain me how to check the output
On Sun, Mar 3, 2024 at 10:23 PM Deva tharshini @.***>
wrote:

assign result_o = input_not_zero ? normal_result : '0;
The above line is from the module "module posit_encoder #"   shows the
result as
result_o =<PHONE_NUMBER>000000 if the “ result_o=input_not_zero ?
normal_result : *'0 *” is 0(the bolded value)
and it also shows result_o =<PHONE_NUMBER>111111 if the “ result_o =
input_not_zero ? normal_result :* '0* ” is 1(the bolded value).
Can you please the explain the line “result_o = input_not_zero ?
normal_result : '0;” and what is meant by input_not_zero and
normal_result? And what is the purpose of ternary operator in the above
line and provide us the code which shows the correct
value of result_o.
On Sun, Mar 3, 2024 at 10:22 PM Deva tharshini <
@.***> wrote:

Thank you, I will do that.
On Sun, Mar 3, 2024 at 8:58 PM Qiong Li @.***> wrote:

There is an error in the always block you wrote in your testbench. You
should assign values to all inputs (including operands_a and operands_b) at
the same time.
For example, the testbench can be revised as follows:
`timescale 1ns/1ps
module tbpdpu;
...
// change the always block to initial block
initial
begin
#10;
operands_a[0]=8'b00000011;
operands_a[1]=8'b00011100;
operands_a[2]=8'b00000000;
operands_a[3]=8'b00000000;
operands_b[0]=8'b11111111;
operands_b[1]=8'b11111111;
operands_b[2]=8'b11111111;
operands_b[3]=8'b11111111;
// acc has been initialized to zero in the former initial block
#10;  // wait for computation
// Display the result `result_o`

end
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975197491, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBLTKW3YILN4VQQRQHLYWM6SXAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVGE4TONBZGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

In order to verify the functional correctness of the hardware module, the stimulus and gold result are usually generated through the software library, and then the stimulus is sent to the hardware module to compare the consistency of the hardware output with the gold result.
By the way, in module posit_encoder,  result_o=input_not_zero ? normal_result : '0 is to handle the special cases where the input is all 0s.

Out = Acc + Va · Vb = Acc + a0b0 + a1b1 + a2b2 + a3b3. The inputs are operands_a , operands_b and acc in pdpu_top.sv, while the output is result_o in pdpu_top.sv.
In order to use the modules, you can start by focusing on the top module, i.e., pdpu_top.sv or pipelined version pdpu_top_pipelined.sv.
Also, you can refer to our paper published at ISCAS'23 for better understanding. (https://ieeexplore.ieee.org/document/10182007)

I am getting result_o only as 0
So pls provide me some inputs to obtain result_0
On Mon, Mar 4, 2024 at 11:58 AM Qiong Li @.***> wrote:

Out = Acc + Va · Vb = Acc + a0b0 + a1b1 + a2b2 + a3b3. The inputs are
operands_a , operands_b and acc in pdpu_top.sv, while the output is
result_o in pdpu_top.sv.
In order to use the modules, you can start by focusing on the top module,
i.e., pdpu_top.sv or pipelined version pdpu_top_pipelined.sv.
Also, you can refer to our paper published at ISCAS'23 for better
understanding. (https://ieeexplore.ieee.org/document/10182007)
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975823038, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBIN3TMIS3IOWNWCUFDYWQH7DAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVHAZDGMBTHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

can you provide me the values of input operand_a,operand_b to obtain the
result_o
I gave many input combinations but I got only result_o=0000000000000000 due
to the condition
assign result_o = input_not_zero ? normal_result : '0;
On Mon, Mar 4, 2024 at 11:59 AM Deva tharshini @.***>
wrote:

I am getting result_o only as 0
So pls provide me some inputs to obtain result_0
On Mon, Mar 4, 2024 at 11:58 AM Qiong Li @.***> wrote:

Out = Acc + Va · Vb = Acc + a0b0 + a1b1 + a2b2 + a3b3. The inputs
are operands_a , operands_b and acc in pdpu_top.sv, while the output is
result_o in pdpu_top.sv.
In order to use the modules, you can start by focusing on the top module,
i.e., pdpu_top.sv or pipelined version pdpu_top_pipelined.sv.
Also, you can refer to our paper published at ISCAS'23 for better
understanding. (https://ieeexplore.ieee.org/document/10182007)
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975823038, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBIN3TMIS3IOWNWCUFDYWQH7DAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVHAZDGMBTHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

You can trying running the simple testbench below, where the inputs are randomly generated.
`timescale 1ns/1ps
module tb_pdpu_top();
    localparam int unsigned N = 4;
    localparam int unsigned n_i = 8;
    localparam int unsigned es_i = 1;
    localparam int unsigned n_o = 16;
    localparam int unsigned es_o = 2;
    localparam int unsigned ALIGN_WIDTH = 14;

    logic [N-1:0][n_i-1:0] operands_a;
    logic [N-1:0][n_i-1:0] operands_b;
    logic [n_o-1:0] acc;
    logic [n_o-1:0] result_o;

    pdpu_top #(
        .N(N),
        .n_i(n_i),
        .es_i(es_i),
        .n_o(n_o),
        .es_o(es_o),
        .ALIGN_WIDTH(ALIGN_WIDTH)
    ) u_pdpu_top(
        .operands_a(operands_a),
        .operands_b(operands_b),
        .acc(acc),
        .result_o(result_o)
    );

    integer i,j;

    initial begin
        for(j=0;j<10;j++) begin
            for(i=0;i<N;i++) begin
                operands_a[i] = $random;
                operands_b[i] = $random;
            end
            acc = $random;
            #10;
        end
    end
endmodule

The waveform is as follows:

I have attached my op ss till now im getting 0000 in result
On Mon, Mar 4, 2024 at 12:21 PM Qiong Li @.***> wrote:

You can trying running the simple testbench below, where the inputs are
randomly generated.
`timescale 1ns/1ps
module tb_pdpu_top();
localparam int unsigned N = 4;
localparam int unsigned n_i = 8;
localparam int unsigned es_i = 1;
localparam int unsigned n_o = 16;
localparam int unsigned es_o = 2;
localparam int unsigned ALIGN_WIDTH = 14;
logic [N-1:0][n_i-1:0] operands_a;
logic [N-1:0][n_i-1:0] operands_b;
logic [n_o-1:0] acc;
logic [n_o-1:0] result_o;

pdpu_top #(
    .N(N),
    .n_i(n_i),
    .es_i(es_i),
    .n_o(n_o),
    .es_o(es_o),
    .ALIGN_WIDTH(ALIGN_WIDTH)
) u_pdpu_top(
    .operands_a(operands_a),
    .operands_b(operands_b),
    .acc(acc),
    .result_o(result_o)
);

integer i,j;

initial begin
    for(j=0;j<10;j++) begin
        for(i=0;i<N;i++) begin
            operands_a[i] = $random;
            operands_b[i] = $random;
        end
        acc = $random;
        #10;
    end
end

endmodule
The waveform is as follows:
waveform.png (view on web)
https://github.com/qleenju/PDPU/assets/88258942/4b73fd76-3595-47af-8879-645e87206b25
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975848077, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBONCF3O2YAWAT4NC5TYWQKY7AVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVHA2DQMBXG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

I have gave the input that you displayed on the waveform and I have check
the testbench also  but till now Im obtaining the result as 00000000
On Mon, Mar 4, 2024 at 1:45 PM Deva tharshini @.***>
wrote:

I have attached my op ss till now im getting 0000 in result
On Mon, Mar 4, 2024 at 12:21 PM Qiong Li @.***> wrote:

You can trying running the simple testbench below, where the inputs are
randomly generated.
`timescale 1ns/1ps
module tb_pdpu_top();
localparam int unsigned N = 4;
localparam int unsigned n_i = 8;
localparam int unsigned es_i = 1;
localparam int unsigned n_o = 16;
localparam int unsigned es_o = 2;
localparam int unsigned ALIGN_WIDTH = 14;
logic [N-1:0][n_i-1:0] operands_a;
logic [N-1:0][n_i-1:0] operands_b;
logic [n_o-1:0] acc;
logic [n_o-1:0] result_o;

pdpu_top #(
    .N(N),
    .n_i(n_i),
    .es_i(es_i),
    .n_o(n_o),
    .es_o(es_o),
    .ALIGN_WIDTH(ALIGN_WIDTH)
) u_pdpu_top(
    .operands_a(operands_a),
    .operands_b(operands_b),
    .acc(acc),
    .result_o(result_o)
);

integer i,j;

initial begin
    for(j=0;j<10;j++) begin
        for(i=0;i<N;i++) begin
            operands_a[i] = $random;
            operands_b[i] = $random;
        end
        acc = $random;
        #10;
    end
end

endmodule
The waveform is as follows:
waveform.png (view on web)
https://github.com/qleenju/PDPU/assets/88258942/4b73fd76-3595-47af-8879-645e87206b25
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1975848077, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBONCF3O2YAWAT4NC5TYWQKY7AVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVHA2DQMBXG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Could you please show your complete testbench code in comments? I will try runing it to find the potential problems.

module tbpdpu;
reg [3:0][7:0]operands_a;
reg [3:0][7:0]operands_b;
reg [15:0] acc;
reg [15:0] result_o;
parameter int unsigned N = 4;                   // dot-product size
parameter int unsigned n_i = 8;                 // word size
parameter int unsigned es_i = 2;                // exponent size
parameter int unsigned n_o = 16;
parameter int unsigned es_o = 2;
parameter int unsigned ALIGN_WIDTH = 14;
pdpu_top
#(.N(N),.n_i(n_i),.es_i(es_i),.n_o(n_o),.es_o(es_o),.ALIGN_WIDTH(ALIGN_WIDTH))
dut(.operands_a(operands_a),.operands_b(operands_b),.acc(acc),.result_o(result_o));
initial
begin
operands_a[0]=8'b00000000;
operands_a[1]=8'b00000000;
operands_a[2]=8'b00000000;
operands_a[3]=8'b00000000;
operands_b[0]=8'b00000000;
operands_b[1]=8'b00000000;
operands_b[2]=8'b00000000;
operands_b[3]=8'b00000000;
acc=16'b0000000000000000;
end;
always
begin
#10 operands_a[0]=8'b00000011;
#10 operands_a[1]=8'b00011100;
#10 operands_a[2]=8'b00000000;
#10 operands_a[3]=8'b00000000;
#10 operands_b[0]=8'b11111111;
#10 operands_b[1]=8'b11111111;
#10 operands_b[2]=8'b11111111;
#10 operands_b[3]=8'b11111111;
#10 acc=16'b0001011111111001;
// Display the result
$display("Result: %h", result_o);
end
endmodule
module pdpu_top #(
parameter int unsigned N = 4,                   // dot-product size
parameter int unsigned n_i = 8,                 // word size
parameter int unsigned es_i = 2,                // exponent size
parameter int unsigned n_o = 16,
parameter int unsigned es_o = 2,
parameter int unsigned ALIGN_WIDTH = 14         // alignment width
)(
input logic [N-1:0][n_i-1:0] operands_a,        // input vector (Va)
input logic [N-1:0][n_i-1:0] operands_b,        // input vector (Vb)
input logic [n_o-1:0] acc,                      // previous output (acc)
output logic [n_o-1:0] result_o                 // output result (out)
);
// ---------------
// Posit Decoding
// ---------------
// the maximum exponent size (not include sign bit)
localparam int unsigned EXP_WIDTH_I = pdpu_pkg::clog2(n_i-1) + es_i;
// the maximum mantissa size (not include implicit bit)
localparam int unsigned MANT_WIDTH_I = n_i-es_i-3;
// Extract valid sign, exponent, and mantissa from input vectors
logic [N-1:0] signs_a, signs_b;
logic signed [N-1:0][EXP_WIDTH_I:0] rg_exp_a,rg_exp_b;
logic [N-1:0][MANT_WIDTH_I:0] mants_norm_a, mants_norm_b;

generate
    genvar i;
    for(i=0;i<N;i++) begin: posit_decoding
        posit_decoder #(
            .n(n_i),
            .es(es_i)
        )ua_posit_decoder(
            .operand_i(operands_a[i]),
            .sign_o(signs_a[i]),
            .rg_exp_o(rg_exp_a[i]),
            .mant_norm_o(mants_norm_a[i])
        );

        posit_decoder #(
            .n(n_i),
            .es(es_i)
        )ub_posit_decoder(
            .operand_i(operands_b[i]),
            .sign_o(signs_b[i]),
            .rg_exp_o(rg_exp_b[i]),
            .mant_norm_o(mants_norm_b[i])
        );
    end
endgenerate

localparam int unsigned EXP_WIDTH_O = pdpu_pkg::clog2(n_o-1) + es_o;
localparam int unsigned MANT_WIDTH_O = n_o-es_o-3;

// Extract valid sign, exponent, and mantissa from previous output (acc)
logic sign_acc;
logic signed [EXP_WIDTH_O:0] rg_exp_acc;
logic [MANT_WIDTH_O:0] mant_norm_acc;

posit_decoder #(
    .n(n_o),
    .es(es_o)
)uc_posit_decoder(
    .operand_i(acc),
    .sign_o(sign_acc),
    .rg_exp_o(rg_exp_acc),
    .mant_norm_o(mant_norm_acc)
);

// ---------------
// Sign Process
// ---------------
logic [N-1:0] signs_ab;
logic [N:0] signs;

// Perform XOR to obtain the signs of the product of Va and Vb
assign signs_ab = signs_a ^ signs_b;
assign signs = {sign_acc, signs_ab};

// ---------------
// Exponent Addition
// ---------------
localparam int unsigned EXP_WIDTH =

pdpu_pkg::maximum(EXP_WIDTH_I+1,EXP_WIDTH_O);
// obtain the exponents of the product of Va and Vb through signed

addition
logic signed [N-1:0][EXP_WIDTH:0] rg_exp_c;
generate
genvar m;
for(m=0;m<N;m++) begin
assign rg_exp_c[m] = signed'(rg_exp_a[m]) +
signed'(rg_exp_b[m]);
end
endgenerate
// ---------------
// Mantissa Multiplication
// ---------------
localparam int unsigned MUL_WIDTH = 2*(MANT_WIDTH_I+1);
logic [N-1:0][MUL_WIDTH-1:0] mul_sum,mul_carry;

// Mantissa multiplication is performed by a modified radix-4 booth

multiplier
generate
genvar j;
for(j=0;j<N;j++) begin: multiplication
radix4_booth_multiplier #(
.WIDTH_A(MANT_WIDTH_I+1),
.WIDTH_B(MANT_WIDTH_I+1)
) u_radix4_booth_multiplier(
.operand_a(mants_norm_a[j]),
.operand_b(mants_norm_b[j]),
.sum_o(mul_sum[j]),
.carry_o(mul_carry[j])
);
end
endgenerate
// ---------------
// Exponent Compare
// ---------------
logic signed [N:0][EXP_WIDTH:0] rg_exp_items;
generate
    genvar u;
    for(u=0;u<N;u++) begin
        assign rg_exp_items[u] = rg_exp_c[u];
    end
endgenerate
assign rg_exp_items[N] = signed'(rg_exp_acc);

// Obtain the maximum exponent by a recursive comparator tree
logic signed [EXP_WIDTH:0] rg_exp_max;
comp_tree #(
    .N(N+1),
    .WIDTH(EXP_WIDTH)
) u_comp_tree(
    .operands_i(rg_exp_items),
    .result_o(rg_exp_max)
);

// ---------------
// The final addition
// ---------------
logic [N-1:0][MUL_WIDTH-1:0] mants_norm_c;
generate
    genvar v;
    for(v=0;v<N;v++) begin
        assign mants_norm_c[v] = mul_sum[v] + mul_carry[v];
    end
endgenerate

// ---------------
// Mantissa Alignment
// ---------------
logic [N:0][ALIGN_WIDTH-1:0] product;
logic [N:0][ALIGN_WIDTH-1:0] product_shifted;

// the mantissa products of Va and Vb are kept in values of bitwidth

ALIGN_WIDTH before alignment
generate
genvar k;
if(ALIGN_WIDTH>MUL_WIDTH) begin: fixed_shift
for(k=0;k<N;k++) begin
assign product[k] = mants_norm_c[k] <<
(ALIGN_WIDTH-MUL_WIDTH);
end
end
else begin: fixed_shift
for(k=0;k<N;k++) begin
assign product[k] = mants_norm_c[k] >>
(MUL_WIDTH-ALIGN_WIDTH);
end
end
endgenerate
if(ALIGN_WIDTH>MANT_WIDTH_O+2) begin
    assign product[N] = mant_norm_acc << (ALIGN_WIDTH-MANT_WIDTH_O-2);
end
else begin
    assign product[N] = mant_norm_acc >> (MANT_WIDTH_O+2-ALIGN_WIDTH);
end

// Align the products according to the difference between the

respective exponent and the maximum exponent
localparam int unsigned SHIFT_WIDTH = pdpu_pkg::clog2(ALIGN_WIDTH+1);
logic [N:0][EXP_WIDTH:0] rg_exp_diff;
logic [N:0][SHIFT_WIDTH-1:0] shift_amount;
generate
genvar z,s;
// compute the respective exponent difference
for(z=0;z<N+1;z++) begin
assign rg_exp_diff[z] = unsigned'(rg_exp_max - rg_exp_items[z]);
end
// the maximum shift amount is ALIGN_WIDTH, since the bits
exceeding ALIGN_WIDTH will be discarded directly.
if(EXP_WIDTH+1>SHIFT_WIDTH) begin
for(s=0;s<N+1;s++) begin
assign shift_amount[s] =
(|rg_exp_diff[s][EXP_WIDTH:SHIFT_WIDTH]) ? ALIGN_WIDTH :
rg_exp_diff[s][SHIFT_WIDTH-1:0];
barrel_shifter #(
.WIDTH(ALIGN_WIDTH),
.SHIFT_WIDTH(SHIFT_WIDTH),
.MODE(1'b1)
) u_barrel_shifter(
.operand_i(product[s]),
.shift_amount(shift_amount[s]),
.result_o(product_shifted[s])
);
end
end
    else begin
        for(s=0;s<N+1;s++) begin
            barrel_shifter #(
                .WIDTH(ALIGN_WIDTH),
                .SHIFT_WIDTH(EXP_WIDTH+1),
                .MODE(1'b1)
            ) u_barrel_shifter(
                .operand_i(product[s]),
                .shift_amount(rg_exp_diff[s]),
                .result_o(product_shifted[s])
            );
        end
    end
endgenerate

// ---------------
// Mantissa accumulation in two's complement
// ---------------
localparam int unsigned CARRY_WIDTH = pdpu_pkg::clog2(N+1);
localparam int unsigned SUM_WIDTH = ALIGN_WIDTH + CARRY_WIDTH;

logic [N:0][SUM_WIDTH:0] mantissa,mantissa_comp;
// Convert to two's complement
generate
    genvar y;
    for(y=0;y<N+1;y++) begin
        assign mantissa[y] = product_shifted[y];
        assign mantissa_comp[y] = signs[y] ? (~mantissa[y]+1) :

mantissa[y];
end
endgenerate
logic [SUM_WIDTH:0] csa_sum,csa_carry;
csa_tree #(
    .N(N+1),
    .WIDTH_I(SUM_WIDTH+1),
    .WIDTH_O(SUM_WIDTH+1)
) u_csa_tree(
    .operands_i(mantissa_comp),
    .sum_o(csa_sum),
    .carry_o(csa_carry)
);

logic [SUM_WIDTH:0] sum_result;
// the final addition
assign sum_result = csa_sum + csa_carry;

logic final_sign;
logic [SUM_WIDTH-1:0] sum_c;

assign final_sign = sum_result[SUM_WIDTH];
assign sum_c = final_sign ? (~sum_result+1) : sum_result[SUM_WIDTH-1:0];

// ---------------
// Mantissa normalization and exponent adjustment
// ---------------
logic signed [EXP_WIDTH:0] rg_exp_adjust;
logic signed [EXP_WIDTH:0] final_rg_exp;
logic [SUM_WIDTH-1:0] sum_norm;

mantissa_norm #(
    .WIDTH(SUM_WIDTH),
    .EXP_WIDTH(EXP_WIDTH),
    .DECIMAL_POINT(CARRY_WIDTH+2)
) u_mantissa_norm(
    .operand_i(sum_c),
    .exp_adjust(rg_exp_adjust),
    .result_o(sum_norm)
);
// Note: is there any possibility of overflow?
assign final_rg_exp = rg_exp_max + rg_exp_adjust;

// ---------------
// Posit encoder and Rounding
// ---------------
logic [MANT_WIDTH_O+2:0] final_mant;

if(SUM_WIDTH>MANT_WIDTH_O+3) begin
    logic [SUM_WIDTH-MANT_WIDTH_O-3:0] sticky_bits;
    logic sticky_bit;
    assign sticky_bits = sum_norm[SUM_WIDTH-MANT_WIDTH_O-3:0];
    assign sticky_bit = |sticky_bits;
    assign final_mant =

{sum_norm[SUM_WIDTH-1:SUM_WIDTH-MANT_WIDTH_O-2],sticky_bit};
end
else begin
assign final_mant = sum_norm << (MANT_WIDTH_O+3-SUM_WIDTH);
end
posit_encoder #(
    .n(n_o),
    .es(es_o),
    .EXP_WIDTH(EXP_WIDTH),
    .MANT_WIDTH(MANT_WIDTH_O+2)
) u_posit_encoder(
    .sign_i(final_sign),
    .rg_exp_i(final_rg_exp),
    .mant_norm_i(final_mant),
    .result_o(result_o)
);

endmodule
On Mon, Mar 4, 2024 at 3:16 PM Qiong Li @.***> wrote:

Could you please show your complete testbench code in comments? I will try
runing it to find the potential problems.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1976151476, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBISEQ55PDKBG6HT4ETYWQ7GBAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZWGE2TCNBXGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Firstly, you should add a $finish or $stop command as follows, otherwise the simulation will continue forever.
initial begin
  #1000 $finish;
end

Secondly, I have tried runing the testbench you attached above, the waveform is as follows:

The result_o is not always zero, but a fixed value since the inputs no longer change.

But if I run the testbench I got 0 sould we want to run infinite times
On Mon, Mar 4, 2024 at 5:31 PM Deva tharshini @.***>
wrote:

can you provide me the input in binary form
On Mon, Mar 4, 2024 at 5:27 PM Qiong Li @.***> wrote:

Firstly, you should add a $finish or $stop command as follows, otherwise
the simulation will continue forever.
initial begin
#1000 $finish;
end
Secondly, I have tried runing the testbench you attached above, the
waveform is as follows:
image.png (view on web)
https://github.com/qleenju/PDPU/assets/88258942/e5d177f5-fae0-4ac1-a790-de58b71e409f
The result_o is not always zero, but a fixed value since the inputs no
longer change.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1976417317, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBOGTY7SKSEX4K6G7L3YWRORZAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZWGQYTOMZRG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

can you provide me the testbench code that you have run
On Mon, Mar 4, 2024 at 5:32 PM Deva tharshini @.***>
wrote:

But if I run the testbench I got 0 sould we want to run infinite times
On Mon, Mar 4, 2024 at 5:31 PM Deva tharshini @.***>
wrote:

can you provide me the input in binary form
On Mon, Mar 4, 2024 at 5:27 PM Qiong Li @.***> wrote:

Firstly, you should add a $finish or $stop command as follows,
otherwise the simulation will continue forever.
initial begin
#1000 $finish;
end
Secondly, I have tried runing the testbench you attached above, the
waveform is as follows:
image.png (view on web)
https://github.com/qleenju/PDPU/assets/88258942/e5d177f5-fae0-4ac1-a790-de58b71e409f
The result_o is not always zero, but a fixed value since the inputs no
longer change.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1976417317, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBOGTY7SKSEX4K6G7L3YWRORZAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZWGQYTOMZRG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

can we use this code in simple cnn model
On Mon, Mar 4, 2024 at 5:33 PM Deva tharshini @.***>
wrote:

can you provide me the testbench code that you have run
On Mon, Mar 4, 2024 at 5:32 PM Deva tharshini @.***>
wrote:

But if I run the testbench I got 0 sould we want to run infinite times
On Mon, Mar 4, 2024 at 5:31 PM Deva tharshini <
@.***> wrote:

can you provide me the input in binary form
On Mon, Mar 4, 2024 at 5:27 PM Qiong Li @.***>
wrote:

Firstly, you should add a $finish or $stop command as follows,
otherwise the simulation will continue forever.
initial begin
#1000 $finish;
end
Secondly, I have tried runing the testbench you attached above, the
waveform is as follows:
image.png (view on web)
https://github.com/qleenju/PDPU/assets/88258942/e5d177f5-fae0-4ac1-a790-de58b71e409f
The result_o is not always zero, but a fixed value since the inputs no
longer change.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1976417317, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBOGTY7SKSEX4K6G7L3YWRORZAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZWGQYTOMZRG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

can you provide me the steps for running the code I think I would have make
mistake in that
On Mon, Mar 4, 2024 at 5:33 PM Deva tharshini @.***>
wrote:

can we use this code in simple cnn model
On Mon, Mar 4, 2024 at 5:33 PM Deva tharshini @.***>
wrote:

can you provide me the testbench code that you have run
On Mon, Mar 4, 2024 at 5:32 PM Deva tharshini <
@.***> wrote:

But if I run the testbench I got 0 sould we want to run infinite times
On Mon, Mar 4, 2024 at 5:31 PM Deva tharshini <
@.***> wrote:

can you provide me the input in binary form
On Mon, Mar 4, 2024 at 5:27 PM Qiong Li @.***>
wrote:

Firstly, you should add a $finish or $stop command as follows,
otherwise the simulation will continue forever.
initial begin
#1000 $finish;
end
Secondly, I have tried runing the testbench you attached above, the
waveform is as follows:
image.png (view on web)
https://github.com/qleenju/PDPU/assets/88258942/e5d177f5-fae0-4ac1-a790-de58b71e409f
The result_o is not always zero, but a fixed value since the inputs
no longer change.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1976417317,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBOGTY7SKSEX4K6G7L3YWRORZAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZWGQYTOMZRG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

The testbench code is revised from your attached code.
module tb_pdpu_top;
  reg [3:0][7:0]operands_a;
  reg [3:0][7:0]operands_b;
  reg [15:0] acc;
  reg [15:0] result_o;
  parameter int unsigned N = 4;                   // dot-product size
  parameter int unsigned n_i = 8;                 // word size
  parameter int unsigned es_i = 2;                // exponent size
  parameter int unsigned n_o = 16;
  parameter int unsigned es_o = 2;
  parameter int unsigned ALIGN_WIDTH = 14;

  pdpu_top
#(.N(N),.n_i(n_i),.es_i(es_i),.n_o(n_o),.es_o(es_o),.ALIGN_WIDTH(ALIGN_WIDTH))
dut(.operands_a(operands_a),.operands_b(operands_b),.acc(acc),.result_o(result_o));

  initial
  begin
    operands_a[0]=8'b00000000;
    operands_a[1]=8'b00000000;
    operands_a[2]=8'b00000000;
    operands_a[3]=8'b00000000;
    operands_b[0]=8'b00000000;
    operands_b[1]=8'b00000000;
    operands_b[2]=8'b00000000;
    operands_b[3]=8'b00000000;
    acc=16'b0000000000000000;
  end

  always
  begin
    #10 operands_a[0]=8'b00000011;
    #10 operands_a[1]=8'b00011100;
    #10 operands_a[2]=8'b00000000;
    #10 operands_a[3]=8'b00000000;
    #10 operands_b[0]=8'b11111111;
    #10 operands_b[1]=8'b11111111;
    #10 operands_b[2]=8'b11111111;
    #10 operands_b[3]=8'b11111111;
    #10 acc=16'b0001011111111001;
    // Display the result
        $display("Result: %h", result_o);
  end

    initial begin
        #1000;
        $finish;
    end

  endmodule

You can run it by Mentor QuestaSIM. The simulation script is as follows:
quit -sim
vlib work
vmap work work

# Compile rtl files
vlog ../sources/pdpu_pkg.sv

vlog ../sources/cf_math_pkg.sv
vlog ../sources/lzc.sv
vlog ../sources/barrel_shifter.sv
vlog ../sources/posit_decoder.sv

vlog ../sources/booth_encoder.sv
vlog ../sources/gen_product.sv
vlog ../sources/gen_prods.sv

vlog ../sources/fulladder.sv
vlog ../sources/compressor_3to2.sv
vlog ../sources/counter_5to3.sv
vlog ../sources/compressor_4to2.sv
vlog ../sources/csa_tree.sv

vlog ../sources/radix4_booth_multiplier.sv

vlog ../sources/comparator.sv
vlog ../sources/comp_tree.sv

vlog ../sources/mantissa_norm.sv

vlog ../sources/posit_encoder.sv

vlog ../sources/pdpu_top.sv

# Compile testbench
vlog ../test/tb_pdpu_top.sv

# Simulation
vsim -novopt work.tb_pdpu_top
# Add wave
add wave /*
# Run
run -all

This is a hardware arithmetic unit, which can be deployed as a computing core in an accelerator or processor. And I don't think that the code can be directly used in cnn model.

By the way, the simulation script can be simplified as follows:
quit -sim
vlib work
vmap work work

# Compile rtl files
vlog ../sources/pdpu_pkg.sv
vlog ../sources/cf_math_pkg.sv
vlog ../sources/*.sv

# Compile testbench
vlog ../test/tb_pdpu_top.sv

# Simulation
vsim -novopt work.tb_pdpu_top
# Add wave
add wave /*
# Run
run -all

You can have a try. The TCL simulation script is consistent, but as I recall modelsim does not support SystemVerilog very well.

But in modelsim there is system verilog option
On Tue, Mar 5, 2024 at 6:40 AM Qiong Li @.***> wrote:

You can have a try. The TCL simulation script is consistent, but as I
recall modelsim does not support SystemVerilog very well.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1977761840, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBJALQFXS7DF7OEJGWLYWULQXAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZXG43DCOBUGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Then you can have a try. These questions are beyond the scope of the repo, and you can solve the remaining problems through Google.

Thank you so much
On Tue, Mar 5, 2024 at 8:05 AM Qiong Li @.***> wrote:

Then you can have a try. These questions are beyond the scope of the repo,
and you can solve the remaining problems through Google.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1977840335, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBK42XCO3XRBQVCOCNLYWUVQLAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZXHA2DAMZTGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

You have mentioned in the paper that it is used for deep learning
applications ,In what type of Deep learning Applications it can be
implemented,if so will you please send me any reference paper
On Tue, Mar 5, 2024 at 9:18 AM Deva tharshini @.***>
wrote:

Thank you so much
On Tue, Mar 5, 2024 at 8:05 AM Qiong Li @.***> wrote:

Then you can have a try. These questions are beyond the scope of the
repo, and you can solve the remaining problems through Google.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1977840335, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBK42XCO3XRBQVCOCNLYWUVQLAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZXHA2DAMZTGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Please find further details of our papers for leveraging posit number in deep learning.

Lu, Jinming, et al. "Evaluations on deep neural networks training using posit number system." IEEE Transactions on Computers 70.2 (2020): 174-187.
Lu, Jinming, et al. "Training deep neural networks using posit number system." 2019 32nd IEEE International System-on-Chip Conference (SOCC). IEEE, 2019.

Some other references you can find in our PDPU paper reference as well. Hope it helpful for you~

You have mentioned in the paper that it is used for deep learning applications ,In what type of Deep learning Applications it can be implemented,if so will you please send me any reference paper On Tue, Mar 5, 2024 at 9:18 AM Deva tharshini @.> wrote:
…
Thank you so much On Tue, Mar 5, 2024 at 8:05 AM Qiong Li @.> wrote: > Then you can have a try. These questions are beyond the scope of the > repo, and you can solve the remaining problems through Google. > > — > Reply to this email directly, view it on GitHub > <#1 (comment)>, or > unsubscribe > https://github.com/notifications/unsubscribe-auth/BEP2CBK42XCO3XRBQVCOCNLYWUVQLAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZXHA2DAMZTGU > . > You are receiving this because you authored the thread.Message ID: > @.***> >

Dear Mam/Sir
In this pdpu can we use dadda multiplier instead of booth multiplier
is this possible
On Tue, Mar 5, 2024 at 8:18 PM Chao Fang @.***> wrote:

Closed #1 https://github.com/qleenju/PDPU/issues/1 as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#event-12015113558, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBJCLSCFUHONSTLFD2DYWXLKHAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGAYTKMJRGM2TKOA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Dear Mam/Sir In this pdpu can we use dadda multiplier instead of booth multiplier is this possible
…
On Tue, Mar 5, 2024 at 8:18 PM Chao Fang @.> wrote: Closed #1 <#1> as completed. — Reply to this email directly, view it on GitHub <#1 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEP2CBJCLSCFUHONSTLFD2DYWXLKHAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGAYTKMJRGM2TKOA . You are receiving this because you authored the thread.Message ID: @.>

Year, you can choose to use dadda multiplier to replace booth multiplier in PDPU (I have not implemented it).

can you provide me the example for solving the equation out=acc+a0.b0+.....
becoz I m not getting the accurate value by giving inputs and check with
the equation.
For example  i gave acc=2 a0=1 a1=1 a2=1 a3=1 ,bo=2,b1=2,b2=2,b3=2 (in
decimal form)
actual o/p should be 10 (in decimal form)
but im getting 12 as output (in decimal form)
and also for another example acc=10 a0=3 a1=4 a2=5 a3=6
,bo=1,b1=2,b2=3,b3=4(in decimal form)
actual o/p should be 60(in decimal form)
but im getting 98 as output (in decimal form)
and i tried this for  various hex units but i didnt get the correct output
can you please tell me what is the reason
On Wed, Mar 13, 2024 at 8:20 PM Qiong Li @.***> wrote:

Dear Mam/Sir In this pdpu can we use dadda multiplier instead of booth
multiplier is this possible
… <#m_3764658703652916934_>
On Tue, Mar 5, 2024 at 8:18 PM Chao Fang @.> wrote: Closed #1
https://github.com/qleenju/PDPU/issues/1 <#1
https://github.com/qleenju/PDPU/issues/1> as completed. — Reply to this
email directly, view it on GitHub <#1 (comment)
https://github.com/qleenju/PDPU/issues/1#event-12015113558>, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBJCLSCFUHONSTLFD2DYWXLKHAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGAYTKMJRGM2TKOA
https://github.com/notifications/unsubscribe-auth/BEP2CBJCLSCFUHONSTLFD2DYWXLKHAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGAYTKMJRGM2TKOA
. You are receiving this because you authored the thread.Message ID: @.>
Year, you can choose to use dadda multiplier to replace booth multiplier
in PDPU (I have not implemented it).
—
Reply to this email directly, view it on GitHub
https://github.com/qleenju/PDPU/issues/1#issuecomment-1994578266, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEP2CBI52OMYXUTVM6MU6EDYYBRUFAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJUGU3TQMRWGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

can you provide me the example for solving the equation out=acc+a0.b0+..... becoz I m not getting the accurate value by giving inputs and check with the equation. For example i gave acc=2 a0=1 a1=1 a2=1 a3=1 ,bo=2,b1=2,b2=2,b3=2 (in decimal form) actual o/p should be 10 (in decimal form) but im getting 12 as output (in decimal form) and also for another example acc=10 a0=3 a1=4 a2=5 a3=6 ,bo=1,b1=2,b2=3,b3=4(in decimal form) actual o/p should be 60(in decimal form) but im getting 98 as output (in decimal form) and i tried this for various hex units but i didnt get the correct output can you please tell me what is the reason
…
On Wed, Mar 13, 2024 at 8:20 PM Qiong Li @.> wrote: Dear Mam/Sir In this pdpu can we use dadda multiplier instead of booth multiplier is this possible … <#m_3764658703652916934_> On Tue, Mar 5, 2024 at 8:18 PM Chao Fang @.> wrote: Closed #1 <#1> <#1 <#1>> as completed. — Reply to this email directly, view it on GitHub <#1 (comment) <#1 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEP2CBJCLSCFUHONSTLFD2DYWXLKHAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGAYTKMJRGM2TKOA https://github.com/notifications/unsubscribe-auth/BEP2CBJCLSCFUHONSTLFD2DYWXLKHAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGAYTKMJRGM2TKOA . You are receiving this because you authored the thread.Message ID: @.> Year, you can choose to use dadda multiplier to replace booth multiplier in PDPU (I have not implemented it). — Reply to this email directly, view it on GitHub <#1 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEP2CBI52OMYXUTVM6MU6EDYYBRUFAVCNFSM6AAAAABEDXFAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJUGU3TQMRWGY . You are receiving this because you authored the thread.Message ID: @.**>

Because PDPU is implemented based on Posit format, rather than traditional IEEE-754 floating-point format or integer format.
Regarding the Posit format, you can refer to the following article:
[1] Gustafson J L, Yonemoto I T. Beating floating point at its own game: Posit arithmetic[J]. Supercomputing frontiers and innovations, 2017, 4(2): 71-86.