<bgdev />free

| |  


All tags 2023 9may ai algorithm alpha amd american api argon2 arm asm asmbb assembler attachment awareness balgaria bay888 bcrypt bender beta bgdev-next bgdev-next.👍 big.data bitchnigga bitcoin bmw boi borg brexit bug bulgaria business c cad chat cloud code computer-names console crossorigin deprivation desktop dna dotnet email eupl falling feature food for forum foundation fp fresh fun game gcc github goats google gpl gpt gpt.3.5 gypsies happiness harvard hash improvement include investment it java javascript js kleta kleta.maqka.balg lambi language learning leftovers legend level levenshtein.dist libx license linkedlist linux m0 ma mcafee mele microsoft minimag minimalism negro net nginx nigga not.a.bug oop paradigm parler patterns perception persuasion pipe play.station politics populi pornhub pow pro programming protonmail python reba rust sci-fi scripting seks seo server shell sleep smartbeauty soft-skills sqlite srabska sse starship sugerface syntax tablet tailwindcss telegram theme thug troll80lvl tutanota typescript uacme ui uk unix untermensch upload uptime usa utilities ux vb via viber virtual.reality vox vps vulnerable war wasm weapons-grade web will windows word x86 xbox xss youtube zig ziglang Übermensch БОКЕБЪЛГАРИН БЪ БЪлгария Белезниците Били Били.Белезниците БялДонор Веган Виста Възраждане ГЛУПАК Гана Глиста ЕС Казарма Копейкин Мода.и.овча.мисъ НЕКАДЪРНИК НРБ ПО-ЗЛЕ.И.ОТ.РАБИ Подкасти Разни Румен СИК СКУМ СетенЧук Скум ТИР Туче Украйна Урсула Яначков авангард аз айфонджия алгоритми амбиции анархизъм антиваксъри армения аудио аутисти бази.данни бакъп без без.пръчове безпросвета бенчмарк биготи биомаса бира боклук борисов ботев брадва булшит бъг бъгове бял ваксина вандал век венерика викинги вицове вишу война вървежен гана ганорник гей гейщина германия герои гешев глупак говеда групировка гюбек данъкоплатец двойни.стандарти дедотия демокрация дизайн дисциплина добитък докери долар донори држава дришльо дрон ебане еврогейски.съюз евтини.принтери езици експеримент електроника електроника.s2 емиграция ендпойнт енум ерген ергономия жалкар задача затоплизъм защита здраве златен злато игри идеали идиократ идиократи идиокрация идиот избори избори.рабин изкуство икономика имбецили имейл инвестиране инокулация инструмента интервю ипад искам.да.си.реда казах камшикодържач капитализъм карабах караница картечница кино клавиатура ковид19 колайдер колям.кур комари комплексар комунизъм консолидация конспирации космонавтика кофа кофит-19 краставица криптовалути курви курс кучелюбци лайно лаладжия лаптоп либерастия литература лоши.практики луд лъжеучени лъжец любов майни майтапи малоумници мафия мениджмънт месо местене метавселена метафизика механика мистика мисъл мода мода.овча.мисъл модерация морал мутра мутри наука национализъм не.it негър некадърник некадърници неон нидерландия овча овчи олигофрени организация офтопик парички партия педал педераси пенджури пенсия пишока плюскане победа погромист поезия политика порно посредствен почивка празници прасе превод предалщина програмиране проект проста простотии против.правилата проф пръч пръч.дришльо пръчка психика психични.болести психология пустиняк путин путката путьо рабин рабин.е.шибан.пе работа радост разврат разни разработка расизъм резерват рейтинг реклама рекламен религия рест ризи ропче ропчета русия руски.език рутина самоковска сасипаха секира село селяндур сериали сериозно.програм сетен сеянин симулация скопяване скръм слушалки сортиране софия софтуер софтуни социализъм спектрометър спринтове сране стандарти стил стуйо стюи сушилня сцена съвет съм сън сървър сърничка таб ташаци телевизия тема територията терминология термояд технологии титли традиция тролинг тръмп туба туче тъпак тъпанари тъпня уиндоус украйна умнокрасивци фалит фантастика фашизъм фейк.акаунти физика филми форум форумни.проекти футбол хазарт хамали харабия хардуер хахаха хомофобия хостинг храна хумор цайко цайси целофан цензура цензурра циганин чалга чалгар чекии чернокраки честота чипове чнг чужбина чужденци чук шпация щайга юан яката яко ям 🔨 😂 🪓


Лаптоп за Deep Learning и Large Language модели

  

0 1 2 3 4 ...9 10 11 12 13 ...18 19 20 21 22


  waldorf  Последно редактирано на 20.02.25 01:57 от waldorf, видяно: 120 пъти. #135777
|

Хмм, работи ли добре ако предаваш "структурите" като параметри? На теория компилатора може да се сеща, че не са реално структури и да предава стойностите в регистри, но не знам дали е толкова умен все още.

Всичко си работи точно както го очакваш. Сеща се, че са точно по един регистър и си ползва регистрите. Т.е. няма run time penalty но пък има много предимства по време на програмиране - първо не ти позволява да смесиш приравнявания на променливи с различен endianness, второ навсякъде в кода е очевадно, че еди коя си променлива е с еди какъв си endianness.

Те ти малко код да видиш за какво иде реч:

little_big_endian.h

#pragma once

#include <stdint.h>

typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_int64_t { int64_t little_endian; } little_endian_int64_t;
typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_int32_t { int32_t little_endian; } little_endian_int32_t;
typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_int16_t { int16_t little_endian; } little_endian_int16_t;

typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_uint64_t { uint32_t little_endian; } little_endian_uint64_t;
typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_uint32_t { uint32_t little_endian; } little_endian_uint32_t;
typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_uint16_t { uint16_t little_endian; } little_endian_uint16_t;

typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_int64_t { int32_t big_endian; } big_endian_int64_t;
typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_int32_t { int32_t big_endian; } big_endian_int32_t;
typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_int16_t { int16_t big_endian; } big_endian_int16_t;

typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_uint64_t { uint32_t big_endian; } big_endian_uint64_t;
typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_uint32_t { uint32_t big_endian; } big_endian_uint32_t;
typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_uint16_t { uint16_t big_endian; } big_endian_uint16_t;

Предполагам, че нямаш нужда от пример как се ползва. Autocomplete на VIM & VSCode се справят чудесно.



  |  Създадено на 20.02.25 04:08, видяно: 108 пъти. #135779
waldorf

Всичко си работи точно както го очакваш. Сеща се, че са точно по един регистър и си ползва регистрите. Т.е. няма run time penalty но пък има много предимства по време на програмиране - първо не ти позволява да смесиш приравнявания на променливи с различен endianness, второ навсякъде в кода е очевадно, че еди коя си променлива е с еди какъв си endianness.

Те ти малко код да видиш за какво иде реч:

little_big_endian.h

#pragma once

#include <stdint.h>

typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_int64_t { int64_t little_endian; } little_endian_int64_t;
typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_int32_t { int32_t little_endian; } little_endian_int32_t;
typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_int16_t { int16_t little_endian; } little_endian_int16_t;

typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_uint64_t { uint32_t little_endian; } little_endian_uint64_t;
typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_uint32_t { uint32_t little_endian; } little_endian_uint32_t;
typedef struct __attribute__((scalar_storage_order("little-endian"))) little_endian_uint16_t { uint16_t little_endian; } little_endian_uint16_t;

typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_int64_t { int32_t big_endian; } big_endian_int64_t;
typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_int32_t { int32_t big_endian; } big_endian_int32_t;
typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_int16_t { int16_t big_endian; } big_endian_int16_t;

typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_uint64_t { uint32_t big_endian; } big_endian_uint64_t;
typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_uint32_t { uint32_t big_endian; } big_endian_uint32_t;
typedef struct __attribute__((scalar_storage_order("big-endian"))) big_endian_uint16_t { uint16_t big_endian; } big_endian_uint16_t;

Предполагам, че нямаш нужда от пример как се ползва. Autocomplete на VIM & VSCode се справят чудесно.

Изглежда доста добре, ще го имам предвид ако ми се налага да правя нещо подобно.

А козоеба ако пусне кода на проекта си, сглобен от краден код, ще му обясним кой ред какво прави та да не се чуди като го питат ганите.



  Дон Реба  Създадено на 20.02.25 04:20, видяно: 106 пъти. #135780
waldorf

Тия дни ми се наложи и на мен да претаквам едни данни с различен endianness и все нещо не ми харесваше докато не изнамерих един gcc атрибут с който се маркират данните в какъв endianness са. Кривото е, че не може да го приложиш на променлива а трябва да го прилагаш на struct или union ... ядосах се и си направих една малка библиотечка little_big_endian.h която огражда 16, 32 и 64 signed и unsigned типове в структури. Получи се повече от добре. Дори по добре отколкото ако беше приложен атрибута директно на променливите защото така навсякъде в сорса където се налага да ги пипаш трябва да пишеш variable.big_endian или variable.little_endian с което е очевадно какво правиш и че на това място ще има обръщане на байтовете - то дори на най скопения Cortex M0 има инструкция де. Та така не ти дреме каква е endiannes на host машината и компилатора винаги си генерира оптимален код. Ще взема да го опън сорсна.

интересно как си се набутал в ситуация с голям индиянец в паметта. големия индианец само моторолата го обича май, но никога не съм позволявал такива данни да ми влязат неконвертирани



  Rabin  Създадено на 20.02.25 07:20, видяно: 95 пъти. #135783
|

А козоеба ако пусне кода на проекта си, сглобен от краден код, ще му обясним кой ред какво прави та да не се чуди като го питат ганите.

Ще обясниш как го турят на макя ти чергарска. С МОДЕРЕН фронтенд ще гледаш като мишка в брашно.

Аз щом съм си къстомизирал проекта за мене - имам някаква идея. Махам някои неща - дописвам други.

Тизе не мож го пусна дори на localhost, бих заложил всичко, което имам, ако ти изтрия readme и нямаш нет.



  waldorf  Последно редактирано на 20.02.25 08:48 от waldorf, видяно: 86 пъти. #135785
Дон Реба

интересно как си се набутал в ситуация с голям индиянец в паметта. големия индианец само моторолата го обича май, но никога не съм позволявал такива данни да ми влязат неконвертирани

Съществуващ комуникационен протокол. Правя фирмуер за нов сензор за дебит на вода в тръбопроводи. И преди беше с едно викане на htonl или там както бяха тези функции за въртене на байтове. И ако забравиш да ги викнеш и всичко се сговняса. А така няма начин.



  waldorf  Последно редактирано на 20.02.25 08:47 от waldorf, видяно: 85 пъти. #135786
|

Изглежда доста добре, ще го имам предвид ако ми се налага да правя нещо подобно.

Винаги ме е кефил минимализма в програмирането, но си иска време човек да изчиства кода. И повечето хора с които работя все бързат и с времето излишно усложняват прости неща докато сложността не надхвърли капацитета на екипа.



  Rabin  Създадено на 20.02.25 08:51, видяно: 69 пъти. #135787
waldorf

Винаги ме е кефил минимализма в програмирането, но си иска време човек да изчиства кода. И повечето хора с които работя все бързат и с времето излишно усложняват прости неща докато сложността не надхвърли капацитета на екипа.

150 мегабайта са ми библиотеките на елементарния проект, имам предвид като брой редове. Едва ли има и 1000.

Нищо не сте видели, лумпени малоумни! Написал 20 реда прагми, и вече се има за гений!



  synergie  Създадено на 20.02.25 08:56, видяно: 67 пъти. #135789
|

Давам на ChatGPT (4o) кода на моята библиотека и

За програмиране се ползват reasoning/thinking модели, пробвай го с о1, о3 и т.н. 4о не е подходящ тест


0 1 2 3 4 ...9 10 11 12 13 ...18 19 20 21 22


Лаптоп за Deep Learning и Large Language модели

  



AsmBB v3.0 (check-in: 7544654b24928b93); SQLite v3.47.0 (check-in: 03a9703e27c44437);
©2016..2024 John Found; Licensed under EUPL; Powered by Assembly language Created with Fresh IDE