Куча говна / Говнокод #27844 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
* https://github.com/nwchemgit/nwchem/blob/8ac6bc6856d50954029cad01a751006851682398/src/nwpw/pspw/lib/psi/psi.F#L324

      subroutine psi_sort_f_orb()
      implicit none
#include "errquit.fh"

#include "bafdecls.fh"
#include "psi.fh"

      logical value
      integer i,j,ii,jj,ms
      integer r1(2)
      real*8  ei,ej

      value = BA_push_get(mt_dcpl,npack1,'r1',r1(2),r1(1))
      if (.not. value) call errquit(
     >     'psi_sort_f_orb: out of stack memory',0,MA_ERR)

      do ms=1,ispin

        !*** Bubble sort ***
        do ii=1,ne(ms)
         do jj=ii+1,ne(ms)
           i = ii + (ms-1)*ne(1)
           j = jj + (ms-1)*ne(1)
           ei = dbl_mb(eig(1)+i-1)
           ej = dbl_mb(eig(1)+j-1)

           !*** swap ***
           if (ej.lt.ei) then
             dbl_mb(eig(1)+i-1) = ej
             dbl_mb(eig(1)+j-1) = ei
             call Pack_c_Copy(1,dcpl_mb(psi1(1)+(i-1)*npack1),
     >                          dcpl_mb(r1(1)))
             call Pack_c_Copy(1,dcpl_mb(psi1(1)+(j-1)*npack1),
     >                          dcpl_mb(psi1(1)+(i-1)*npack1))
             call Pack_c_Copy(1,dcpl_mb(r1(1)),
     >                          dcpl_mb(psi1(1)+(j-1)*npack1))
           end if

         end do
        end do

      end do

      value = BA_pop_stack(r1(2))
      if (.not. value) call errquit(
     >     'psi_sort_f_orb: popping stack memory',1, MA_ERR)
      return
      end

Сортировка пузырьком на фортране из пакета квантовохимических вычислений "NWChem"

j123123 j123123, (Updated )

Комментарии (276, +276)

ЙажаСценарий / Говнокод #27843 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
async init() {
                const engine = this.engine = new BABYLON.WebGPUEngine(this.canvas);
                await engine.initAsync();
            }

            async initCompute() {
                const supportCS = this.engine.getCaps().supportComputeShaders;
                if (!supportCS) {
                    return true;
                }

                const computeShaderSource = document.getElementById("calculate").value.replace('WORK_GROUP_SIZE', this.WORK_GROUP_SIZE);
                this.computeShader = new BABYLON.ComputeShader("compute", this.engine, { computeSource: computeShaderSource }, {
                    bindingsMapping:
                    {
                        "params": { group: 0, binding: 0 },
                        "ssboIn": { group: 0, binding: 1 },
                        "ssboOut": { group: 0, binding: 2 },
                    }
                });

                const simParamsBuffer = new BABYLON.UniformBuffer(this.engine);
                simParamsBuffer.updateFloat2("time", t, this.numInstances);
                simParamsBuffer.update();

                const ssboInBuffer = new BABYLON.StorageBuffer(this.engine, this.ssboData.byteLength);
                ssboInBuffer.update(this.ssboData);

                const ssboOutBuffer = new BABYLON.StorageBuffer(this.engine, this.ssboData.byteLength);

                this.computeShader.setUniformBuffer("params", simParamsBuffer);
                this.computeShader.setStorageBuffer("ssboIn", ssboInBuffer);
                this.computeShader.setStorageBuffer("ssboOut", ssboOutBuffer);
                                
                const handler = () => {
                    ssboOutBuffer.read().then((res) => {
                        const resFloats = new Float32Array(res.buffer);
                        //console.log(resFloats);
                        this.ssboData.set(resFloats);

                        ssboInBuffer.update(this.ssboData);
                        this.computeShader.setStorageBuffer("ssboIn", ssboInBuffer);
                        this.computeShader.dispatchWhenReady(this.numGroups).then(handler);                

                        this.loadPositions();
                    });
                };

                this.computeShader.dispatchWhenReady(this.numGroups).then(handler);                
            }

Наговнокодить кому нибудь Compute Shader для WebGPU? полный код тут https://pastebin.com/EigxhfqV . Тут короче симуляция гравитации расчетным методом... просто было делать нехрен и скушно... что бы запустить это говно надо Chrome Canary с включенным WebGPU поддержкой.

ASD_77 ASD_77, (Updated )

Комментарии (20, +20)

Куча говна / Говнокод #27842 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
<style type="text/css" media="all">
	html.cms a[href^="https://www.who.int"][href$="/en"] {background-color:#ffcc00;}
	html.cms a[href^="https://www.who.int"][href$="/en/"] {background-color:#ffcc00;}
    html.cms a[href^="http://www.who.int"][href$="/en"] {background-color:#ffcc00;}
	html.cms a[href^="http://www.who.int"][href$="/en/"] {background-color:#ffcc00;}
	html.cms a[href^="/"][href$="/en"] {background-color:#ffcc00;}
	html.cms a[href^="/"][href$="/en/"] {background-color:#ffcc00;}
	html.cms a[href="/"] {background-color:inherit !important;}
	html.cms a[href="/en"] {background-color:inherit !important;}
	html.cms a[href="/en/"] {background-color:inherit !important;}
	html.cms a[href$="http://www.who.int/en"] {background-color:inherit !important;}
	html.cms a[href$="http://www.who.int/en/"] {background-color:inherit !important;}
	html.cms a[href$="https://www.who.int/en"] {background-color:inherit !important;}
	html.cms a[href$="https://www.who.int/en/"] {background-color:inherit !important;}
    html.cms a[href^="https://www.who.int"][href$="/ar"] {background-color:#ffcc00;}
	html.cms a[href^="https://www.who.int"][href$="/ar/"] {background-color:#ffcc00;}
	html.cms a[href^="http://www.who.int"][href$="/ar"] {background-color:#ffcc00;}
	html.cms a[href^="http://www.who.int"][href$="/ar/"] {background-color:#ffcc00;}
	html.cms a[href^="/"][href$="/ar"] {background-color:#ffcc00;}
	html.cms a[href^="/"][href$="/ar/"] {background-color:#ffcc00;}
	html.cms a[href="/ar"] {background-color:inherit !important;}
	html.cms a[href="/ar/"] {background-color:inherit !important;}
	html.cms a[href$="http://www.who.int/ar"] {background-color:inherit !important;}
	html.cms a[href$="http://www.who.int/ar/"] {background-color:inherit !important;}
	html.cms a[href^="https://www.who.int"][href$="/zh"] {background-color:#ffcc00;}
	html.cms a[href^="https://www.who.int"][href$="/zh/"] {background-color:#ffcc00;}
	html.cms a[href^="http://www.who.int"][href$="/zh"] {background-color:#ffcc00;}
	html.cms a[href^="http://www.who.int"][href$="/zh/"] {background-color:#ffcc00;}
	html.cms a[href^="/"][href$="/zh"] {background-color:#ffcc00;}
	html.cms a[href^="/"][href$="/zh/"] {background-color:#ffcc00;}
	html.cms a[href="/zh"] {background-color:inherit !important;}
	html.cms a[href="/zh/"] {background-color:inherit !important;}
	html.cms a[href$="http://www.who.int/zh"] {background-color:inherit !important;}
	html.cms a[href$="http://www.who.int/zh/"] {background-color:inherit !important;}
	html.cms a[href$="https://www.who.int/zh"] {background-color:inherit !important;}
	html.cms a[href$="https://www.who.int/zh/"] {background-color:inherit !important;}
	html.cms a[href^="https://www.who.int"][href$="/fr"] {background-color:#ffcc00;}
	html.cms a[href^="https://www.who.int"][href$="/fr/"] {background-color:#ffcc00;}
    html.cms a[href^="http://www.who.int"][href$="/fr"] {background-color:#ffcc00;}
	html.cms a[href^="http://www.who.int"][href$="/fr/"] {background-color:#ffcc00;}
	html.cms a[href^="/"][href$="/fr"] {background-color:#ffcc00;}
	html.cms a[href^="/"][href$="/fr/"] {background-color:#ffcc00;}
	html.cms a[href="/fr"] {background-color:inherit !important;}
	html.cms a[href="/fr"] {background-color:inherit !important;}
	html.cms a[href="/fr/"] {background-color:inherit !important;}
	html.cms a[href$="http://www.who.int/fr"] {background-color:inherit !important;}
	html.cms a[href$="http://www.who.int/fr/"] {background-color:inherit !important;}
	html.cms a[href$="https://www.who.int/fr"] {background-color:inherit !important;}
	html.cms a[href$="https://www.who.int/fr/"] {background-color:inherit !important;}
	html.cms a[href^="https://www.who.int"][href$="/ru"] {background-color:#ffcc00;}
	html.cms a[href^="https://www.who.int"][href$="/ru/"] {background-color:#ffcc00;}
</style>

Сайт ВОЗ. Многое можно ожидать от frontend, но такое...

rotoeb rotoeb, (Updated )

Комментарии (54, +54)

Куча говна / Говнокод #27839 Ссылка на оригинал

0

  1. 1
IT Оффтоп #135

#105: https://govnokod.ru/27544 https://govnokod.xyz/_27544
#106: https://govnokod.ru/27552 https://govnokod.xyz/_27552
#107: https://govnokod.ru/27554 https://govnokod.xyz/_27554
#108: https://govnokod.ru/27557 https://govnokod.xyz/_27557
#109: https://govnokod.ru/27581 https://govnokod.xyz/_27581
#110: https://govnokod.ru/27610 https://govnokod.xyz/_27610
#111: https://govnokod.ru/27644 https://govnokod.xyz/_27644
#112: https://govnokod.ru/27648 https://govnokod.xyz/_27648
#113: https://govnokod.ru/27652 https://govnokod.xyz/_27652
#114: https://govnokod.ru/27659 https://govnokod.xyz/_27659
#115: https://govnokod.ru/27665 https://govnokod.xyz/_27665
#116: https://govnokod.ru/27671 https://govnokod.xyz/_27671
#117: https://govnokod.ru/27675 https://govnokod.xyz/_27675
#118: https://govnokod.ru/27685 https://govnokod.xyz/_27685
#119: https://govnokod.ru/27701 https://govnokod.xyz/_27701
#120: https://govnokod.ru/27703 https://govnokod.xyz/_27703
#121: https://govnokod.ru/27710 https://govnokod.xyz/_27710
#122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
#123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
#124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
#125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
#126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
#127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
#128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
#129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
#130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
#131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
#132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
#133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
#134: https://govnokod.ru/27834 https://govnokod.xyz/_27834

nepeKamHblu_nemyx nepeKamHblu_nemyx, (Updated )

Комментарии (457, +457)

Кресты / Говнокод #27838 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
#include <iostream>
#include <cstdio>
 
namespace std {
    namespace ios_base2 {
	    extern struct sync_with_stdio_t {
	    	void h(bool sync = true) {
		    	ios_base::sync_with_stdio(sync);
		    }
	    } sync_with_stdio;
    }
}
 
int main() {
	std::ios_base2::sync_with_stdio.h(false);
	std::cout << "1";
	printf("2");
	std::cout << "3";
	puts("");
	return 0;
}

132

https://ideone.com/NkGYUL

3_dar 3_dar, (Updated )

Комментарии (6, +6)

Бухгалтерия / Говнокод #27837 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
Процедура ПоказатьРасчетныеСчета()
	ТаблицаРасчетныхСчетов.Очистить();
	
	Если ЭтоНовый() Тогда
		Возврат;
	КонецЕсли;	
	
	Выборка = Справочники.ТСЖ.Выбрать();
	Пока Выборка.Следующий() Цикл
		ТСЖНеБух = Выборка.Ссылка;
		Если (ТСЖНеБух.ПометкаУдаления) ИЛИ (ТСЖНеБух.ЭтоУК=1) ИЛИ (ТСЖНеБух.ЭтоУК=2) Тогда 
			Продолжить;
		КонецЕсли;
		
		//--- (1)--- Все СОБСТВЕННЫЕ счета (выборка по владельцу счета)
		Если (НЕ ТСЖНеБух.НаБалансеУК) Тогда
			ВыбСчетов = Справочники.БанковскиеСчета.Выбрать(,ТСЖНеБух,,"Код Возр"); 
			Пока ВыбСчетов.Следующий() Цикл
				Если (НЕ ВыбСчетов.ПометкаУдаления) Тогда
					ДобавитьСчет(ТСЖНеБух, ВыбСчетов.Ссылка, ВыбСчетов.Ссылка.ХранилищеУслуг);
				КонецЕсли;	
			КонецЦикла;
		КонецЕсли;	

		//--- (2)--- Все ЧУЖИЕ счета (обход табличной части СчетаУК)
		Для Каждого ВыбСчет Из ТСЖНеБух.СчетаУК Цикл
			Если  (ВыбСчет.Организация   = Справочники.ТСЖ.ПустаяСсылка()) ИЛИ
				  (ВыбСчет.РасчетныйСчет = Справочники.БанковскиеСчета.ПустаяСсылка()) Тогда
				  Продолжить;
			КонецЕсли;	  
			Если НЕ ВыбСчет.РасчетныйСчет.ПометкаУдаления Тогда
				ДобавитьСчет(ТСЖНеБух, ВыбСчет.РасчетныйСчет, ВыбСчет.ХранилищеУслуг);
			КонецЕсли;	
		КонецЦикла;	
		//----------
	КонецЦикла;	
КонецПроцедуры
Процедура ДобавитьСчет(ТСЖНеБух, РСчет, Хран)
		НовСтр               = ТаблицаРасчетныхСчетов.Добавить();
		НовСтр.Организация   = ТСЖНеБух;
		НовСтр.Получатель    = РСчет.Владелец;
		НовСтр.РасчетныйСчет = РСчет;
			
		Если ТСЖНеБух.ВсеУслугиВОдной Тогда
			НовСтр.Флаг      = "Да, может.";
		Иначе	
			МассУслуг      = глПолучитьМассивСсылокУслуг(Хран);
			НовСтр.Флаг      = ?(МассУслуг.Найти( Ссылка ) = Неопределено, "Нет", "Да, может.");
		КонецЕсли;	
КонецПроцедуры

ХранилищеЗначений, любимый(?) костыль людей, не слышавших о нормализации.
Вместо того, чтобы сделать регистр сведений со связями (хотя бы)счёт-услуга, мы запихнём список услуг в ХЗ - реквизит счёта. Это ведь так удобно(на самом деле нет)!

CtrlAltReset CtrlAltReset, (Updated )

Комментарии (2, +2)

Куча говна / Говнокод #27836 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
Disk /dev/sdc: 14,46 GiB, 15523119104 bytes, 30318592 sectors
Disk model: Storage Device
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot   Start     End Sectors   Size Id Type
/dev/sdc1       1009664 7802879 6793216   3,2G  b W95 FAT32
/dev/sdc2  *      73728  139263   65536    32M  6 FAT16
/dev/sdc3             1 1009664 1009664   493M 85 Linux extended
/dev/sdc5        139264  172031   32768    16M 83 Linux
/dev/sdc6        172032  204799   32768    16M 83 Linux
/dev/sdc7        204800  275455   70656  34,5M 83 Linux
/dev/sdc8        275456  776191  500736 244,5M 83 Linux
/dev/sdc9        776192  976895  200704    98M 83 Linux
/dev/sdc10       976896 1009663   32768    16M 83 Linux

Изначально хотел запихнуть в старый PocketBook515 флешку побольше. Она там хитрая, с линуксом, просто так поменять нельзя. Столкнулся с тем, что не могу parted подвинуть границы раздела, потому что overlapping partitions запрещены. Что делать? вот

fdisk -l


Хочу пореверсинжинирить это всё, извлек изнутри sd-карту, покопировал dd на другую флешку. Пока со своей загрузиться не могу, устройство виснет без объяснений. Возможно где-то прописаны гуиды флешки или что-то такое. Но при прямом чтении вижу всякие разделы с кишками кастрированного линукса. Конечная цель -- запустить на этой фигне vim с подключенной клавой. В целом прошивка закрытая, есть блобы. Но много и конфигов и шелл-скриптов в чистом виде, так что поменять можно многое. Плюс раньше был для них ещё какой-то дохлый sdk но уже очень давно. Хотя текстовый редактор думаю написать можно будет, если не удастся обуздать этот линукс.

Если кому-то пиздец как не лень, вот dd родной флешки
https://disk.yandex.ru/d/L08isezHHoZCOQ

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

Завтра если кто-то отзовётся поскидываю ещё скринов и содержимое скриптов.

vistefan vistefan, (Updated )

Комментарии (106, +106)

Няшная / Говнокод #27835 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
// https://github.com/microsoft/Windows-driver-samples/blob/d3ec258921cfcef7b053b5a2c866330d43dd3f03/filesys/fastfat/dumpsup.c#L35

#define DumpLabel(Label,Width) {                                          \
    size_t i, LastPeriod=0;                                                \
    CHAR _Str[20];                                                        \
    for(i=0;i<2;i++) { _Str[i] = UCHAR_SP;}                               \
    for(i=0;i<strlen(#Label);i++) {if (#Label[i] == '.') LastPeriod = i;} \
    strncpy(&_Str[2],&#Label[LastPeriod],Width);                          \
    for(i=strlen(_Str);i<Width;i++) {_Str[i] = UCHAR_SP;}                 \
    _Str[Width] = '\0';                                                   \
    DbgPrint("%s", _Str);                                                  \
}

#define DumpField(Field) {                                         \
    if ((FatDumpCurrentColumn + 18 + 9 + 9) > 80) {DumpNewLine();} \
    FatDumpCurrentColumn += 18 + 9 + 9;                            \
    DumpLabel(Field,18);                                           \
    DbgPrint(":%p", Ptr->Field);                                  \
    DbgPrint("         ");                                          \
}

#define DumpListEntry(Links) {                                     \
    if ((FatDumpCurrentColumn + 18 + 9 + 9) > 80) {DumpNewLine();} \
    FatDumpCurrentColumn += 18 + 9 + 9;                            \
    DumpLabel(Links,18);                                           \
    DbgPrint(":%p", Ptr->Links.Flink);                            \
    DbgPrint(":%p", Ptr->Links.Blink);                            \
}

#define DumpName(Field,Width) {                                    \
    ULONG i;                                                       \
    CHAR _String[256];                                             \
    if ((FatDumpCurrentColumn + 18 + Width) > 80) {DumpNewLine();} \
    FatDumpCurrentColumn += 18 + Width;                            \
    DumpLabel(Field,18);                                           \
    for(i=0;i<Width;i++) {_String[i] = (CHAR)Ptr->Field[i];}             \
    _String[Width] = '\0';                                         \
    DbgPrint("%s", _String);                                        \
}

#define TestForNull(Name) {                                 \
    if (Ptr == NULL) {                                      \
        DbgPrint("%s - Cannot dump a NULL pointer\n", Name); \
        return;                                             \
    }                                                       \
}

Макроговно от мекомягких для отладки файловой системы FAT

j123123 j123123, (Updated )

Комментарии (199, +199)