profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/pavelkryukov/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Pavel I. Kryukov pavelkryukov @MIPT-ILab Moscow, Russia https://www.linkedin.com/in/pavelkryukov/ Engineer

noloader/SHA-Intrinsics 115

SHA-1, SHA-256 and SHA-512 compression functions using Intel, ARMv8 and Power8 SHA intrinsics

noloader/AES-Intrinsics 22

AES encryption function using Intel, ARMv8 and Power8 intrinsics

MIPT-ILab/cpp-lects-rus 11

Open C++ lectures in Russian. Mirror repository, updated weekly.

pavelkryukov/AoAoAoTT 8

Interchangeable AoS and SoA containers

MIPT-ILab/digital-design 3

Lectures on Digital Design

MIPT-ILab/cen64 2

Cycle-Accurate Nintendo 64 Emulator with MIPT-MIPS core model

MIPT-ILab/MDSP 2

[2009 – 2012] MDSP: functional simulation of a Multimedia Digital Signal Processor

MIPT-ILab/mipt-mips-old-branches 1

[2012 – 2015] SVN MIPT-MIPS branches

MIPT-ILab/programming-course 1

[2013 – 2014] Programming course tasks

push eventMIPT-ILab/mipt-mips

Nelzg

commit sha e119be11d0820a431242949b7dbfa3ec9514088f

Shuvalov Denis (#1490)

view details

push time in a day

PR merged MIPT-ILab/mipt-mips

Add Shuvalov Denis to members.md

Well, I guess that's it

+1 -1

2 comments

1 changed file

Nelzg

pr closed time in a day

PullRequestReviewEvent

pull request commentMIPT-ILab/mipt-mips

Add Shuvalov Denis to members.md

Please provide a better commit description next time (like Add Shuvalov Denis to members.md)

Nelzg

comment created time in a day

delete branch MIPT-ILab/mipt-mips

delete branch : boost_1_73

delete time in a day

push eventpavelkryukov/putty-ci

Simon Tatham

commit sha a40b581fc1df99bba6bfba42c777122ce9bc8f6b

Fix Alt handling in the new shifted-arrow-key support. As well as affecting the bitmap field in the escape sequence, it was _also_ having its otherwise standard effect of prefixing Esc to the whole sequence. It shouldn't do both.

view details

Simon Tatham

commit sha b13f3d079b66f25d26179185c65d40b348b4b570

New function-key mode similar to modern xterm. This is the same as the previous FUNKY_XTERM mode if you don't press any modifier keys, but now Shift or Ctrl or Alt with function keys adds an extra bitmap parameter. The bitmaps are the same as the ones used by the new SHARROW_BITMAP arrow key mode.

view details

Simon Tatham

commit sha d42f1fe96d4a42f94954cf665ba12e6f1317fc62

Remove 'calling_back' parameter from plug_closing. It was totally unused. No implementation of the 'closing' method in a Plug vtable was checking it for any reason at all, except for ProxySocket which captured it from its client in order to pass on to its server (which, perhaps after further iterations of ProxySocket, would have ended up ignoring it similarly). And every caller of plug_closing set it to 0 (aka false), except for the one in sshproxy.c which passed true (but it would have made no difference to anyone). The comment in network.h refers to a FIXME comment which was in try_send() when that code was written (see winnet.c in commit 7b0e08270058390). That FIXME is long gone, replaced by a use of a toplevel callback. So I think the aim must have been to avoid re-entrancy when sk_write called try_send which encountered a socket error and called back to plug_closing - but that's long since fixed by other means now.

view details

Simon Tatham

commit sha efb658941160735e298c8b771eab021dd81612c3

Tidy up the comments in PlugVtable. It always confused me that each comment was _after_ the function prototype it described, instead of before, which is my usual idiom. Reordered everything, and added a blank line between each (comment,function) pair to make it clear what goes with what. While I'm at it, rewrote some of the comments for clarity and whole sentences.

view details

Simon Tatham

commit sha 5374444879057ad6f013e57716e49dfd3a10ed6e

Lowercase version of BackendVtable's displayname. The current 'displayname' field is designed for presenting in the config UI, so it starts with a capital letter even when it's not a proper noun. If I want to name the backend in the middle of a sentence, I'll need a version that starts with lowercase where appropriate. The old field is renamed displayname_tc, to avoid ambiguity.

view details

Simon Tatham

commit sha f1746d69b172f8ab196ed52ec1941f374130eb57

Add 'description' methods for Backend and Plug. These will typically be implemented by objects that are both a Backend *and* a Plug, and the two methods will deliver the same results to any caller, regardless of which facet of the object is known to that caller. Their purpose is to deliver a user-oriented natural-language description of what network connection the object is handling, so that it can appear in diagnostic messages. The messages I specifically have in mind are going to appear in cases where proxies require interactive authentication: when PuTTY prompts interactively for a password, it will need to explain which *thing* it's asking for the password for, and these descriptions are what it will use to describe the thing in question. Each backend is allowed to compose these messages however it thinks best. In all cases at present, the description string is constructed by the new centralised default_description() function, which takes a host name and port number and combines them with the backend's display name. But the SSH backend does things a bit differently, because it uses the _logical_ host name (the one that goes with the SSH host key) rather than the physical destination of the network connection. That seems more appropriate when the question it's really helping the user to answer is "What host am I supposed to be entering the password for?" In this commit, no clients of the new methods are introduced. I have a draft implementation of actually using it for the purpose I describe above, but it needs polishing.

view details

Pavel I. Kryukov

commit sha d519767d2516365160694ef927f2a9c94ad29468

Add linker flag for code coverage

view details

Pavel I. Kryukov

commit sha 5ab5390790a24190824480214dc909f2376e6297

Add configuration files for CI systems. The files include builds and cryptography unit tests: - Ubuntu and MacOS X on GitHub Actions - x64 Windows with AppVeyor: - Visual Studio 2017 - latest Clang - ARM Windows with Appveyor, only build: - Visual Studio 2017

view details

push time in a day

issue openedcpp-ru/ideas

Рефлексия над pointer-to-member на этапе компиляции

У поля структуры есть три базовых представления:

  • порядковый номер в структуре (индекс)
  • смещение относительно начала структуры (offsetof)
  • pointer-to-member

Преобразование между тремя представлениями сделать сложно. Между первым и вторым конвертирует Type Loophole, но у этого трюка есть много ограничений, низкая скорость компиляции и т. д. Третье подключить можно, но с ещё большими ухищрениями (https://github.com/boostorg/pfr/issues/60).

При этом последнее представление и наиболее полно, и наиболее надёжно реализовано в C++ (и С). Предлагается сделать его основным, и попросить компилятор объявить переменные, через которые определяются остальные преобразования:

namespace ptm { // pointer-to-member

template<typename T>
constexpr size_t number_of_members = $$$;

template<typename T, typename R, R T::* member>
constexpr size_t index_of_member = $$$;

template<typename T, size_t N>
struct type_of_member { using type = $$$; };

template<typename T, size_t N, typename R = type_of_member<T, N>::type>
struct type_of_pointer_to_member { using type = R T::*; }

template<typename T, size_t N>
type_of_pointer_to_member<T, N> pointer_to_member = $$$;

} // namespace ptm

В результате имплементация Boost.PFR сильно сократится:


namespace details {

template<typename T, int ... N>
auto structure_tie(T& object, std::index_sequence<N...>)
{
    return std::tie(*(object.*ptm::pointer_to_member<T,N>)...);
}

} // namespace details

template<typename T>
auto structure_tie(T& object)
{
    return details::structure_tie(object, std::make_index_sequence<ptm::number_of_members<T>>{});
}

created time in a day

push eventpavelkryukov/putty-ci

Simon Tatham

commit sha 44ee7b9e765f7af80d94610c82dbad46c5932ca0

Add -pwfile option, a more secure version of -pw. Similarly to cmdgen's passphrase options, this replaces the password on the command line with a filename to read the password out of, which means it can't show up in 'ps' or the Windows task manager.

view details

Simon Tatham

commit sha a73aaf945728a15159a274193c6505a04111d2f8

Uppity: add command-line options to configure auth methods. Now you can turn various authentication methods on and off, so that the server won't even offer (say) k-i or publickey at all. This subsumes the previous -allow-none-auth option; there's now a general -{allow,deny}-auth=foo option schema, so -allow-auth=none is the new spelling of -allow-none-auth. The former spelling is kept for backwards compatibility, just in case.

view details

Simon Tatham

commit sha 1541974564a65b6edbf09447e8cf54355fe10805

Windows dputs: use WriteFile to avoid stdio buffering. Trying to debug a problem involving threads just now, it turned out that the version of the diagnostics going to my debug.log was getting data in a different order from the version going to the debug console. Now I open and write to debug_fp by going directly to the Win32 API instead of via a buffering userland stdio, and that seems to have solved the problem.

view details

Simon Tatham

commit sha dde659004083b575547f2740aaa56fdf64523770

handle_write_eof: delegate CloseHandle back to the client. When a writable HANDLE is managed by the handle-io.c system, you ask to send EOF on the handle by calling handle_write_eof. That waits until all buffered data has been written, and then sends an EOF event by simply closing the handle. That is, of course, the only way to send an EOF signal on a handle at all. And yet, it's a bug, because the handle_output system does not take ownership of the handle you give it: the client of handle_output retains ownership, keeps its own copy of the handle, and will expect to close it itself. In most cases, the extra close will harmlessly fail, and return ERROR_INVALID_HANDLE (which the caller didn't notice anyway). But if you're unlucky, in conditions of frantic handle opening and closing (e.g. with a lot of separate named-pipe-style agent forwarding connections being constantly set up and torn down), the handle value might have been reused between the two closes, so that the second CloseHandle closes an unrelated handle belonging to some other part of the program. We can't fix this by giving handle_output permanent ownership of the handle, because it really _is_ necessary for copies of it to survive elsewhere: in particular, for a bidirectional file such as a serial port or named pipe, the reading side also needs a copy of the same handle! And yet, we can't replace the handle_write_eof call in the client with a direct CloseHandle, because that won't wait until buffered output has been drained. The solution is that the client still calls handle_write_eof to register that it _wants_ an EOF sent; the handle_output system will wait until it's ready, but then, instead of calling CloseHandle, it will ask its _client_ to close the handle, by calling the provided 'sentdata' callback with the new 'close' flag set to true. And then the client can not only close the handle, but do whatever else it needs to do to record that that has been done.

view details

Simon Tatham

commit sha 6dfe941a7309a5af2088061ab0a745555f31b879

Windows Pageant: fix hang due to queued callbacks. In the Windows Pageant message loop, we were alternating between MsgWaitForMultipleObjects with timeout=INFINITE, and run_toplevel_callbacks. But run_toplevel_callbacks doesn't loop until the callback queue is empty: it just runs at least one of the currently queued callbacks, so that some progress was made. So if two or more callbacks were queued, we'd leave the rest in the queue and go back into MsgWaitForMultipleObjects, which could hang indefinitely. (A very silly workaround was available: move the mouse over the Pageant systray icon! Every mouse event would terminate the wait and let you get one more iteration of run_toplevel_callbacks.) Now we do the same thing as in other main loops: if any further callbacks are pending, then we still run MsgWaitForMultipleObjects, but we do it with timeout=0 instead of timeout=INFINITE, so that we won't go back to a _blocking_ sleep until all callbacks have been serviced.

view details

Simon Tatham

commit sha e7dd2421cfaf6dd75b316c011e4b10843d2007a6

Pageant: actually link requests on to their queues. When I create any class that implements PageantAsyncOp, I had intended to link its pao.cr list node on to the list in the appropriate PageantClientInfo, so that if that PageantClientInfo was destroyed prematurely (e.g. an agent connection was abruptly closed), we could destroy all the pending requests containing a pointer to it. I did this linking by setting the linked-list fields in pao.cr to point to the appropriate places in the existing list - but I didn't modify the pointer fields _in_ the existing list to point to the new operation at all. So nothing ever actually got linked on to any of those queues!

view details

Simon Tatham

commit sha 0377c689f24a704814ae180264c3cf075548032c

Start a 'terminal' source subdirectory. This contains terminal.c, bidi.c (formerly minibidi.c), and terminal.h. I'm about to make a couple more bidi-related source files, so it seems worth starting by making a place to put them that won't be cluttering up the top level.

view details

Simon Tatham

commit sha d7548d044923a991914486432439612f0ddb982a

Move bidi gettype main() into its own file. That's what I've usually been doing with any main()s I find under ifdef; there's no reason this should be an exception. If we're keeping it in the code at all, we should ensure it carries on compiling. I've also created a new header file bidi.h, containing pieces of the bidi definitions shared between bidi.c and the new source file.

view details

Simon Tatham

commit sha 804f32765fd909018ec22b27d5e3d7bffe802d72

Make bidi type enums into list macros. This makes it easier to create the matching array of type names in bidi_gettype.c, and eliminates the need for an assertion to check the array matched the enum. And I'm about to need to add more types, so let's start by making that trivially easy.

view details

Simon Tatham

commit sha 3a3b264e9dc801a39cb9fba8aad65b9c71cc5908

wcwidth.c: reflow existing lookup table. With one entry per line, it now takes up more vertical space, but it will be easier to see changes when I update it for a later Unicode version.

view details

Simon Tatham

commit sha 53e84b893323d2cae3a789bfa6560a5e1a92ccdd

wcwidth.c: update to Unicode 14.0.0. I wasn't able to find the 'uniset' program mentioned in the comment that generated one of the tables, or at least I wasn't confident that I'd found the right thing of that name. So I rewrote the semantics of that command line in my own Perl and have included that in the revised version of the comment.

view details

Simon Tatham

commit sha caa16deb1cca045e88065b86ac39826fcbee84fb

bidi.c: update the API. The input length field is now a size_t rather than an int, on general principles. The return value is now void (we weren't using the previous return value at all). And we now require the client to have previously allocated a BidiContext, which will allow allocated storage to be reused between runs, saving a lot of churn on malloc. (However, the current BidiContext doesn't contain anything interesting. I could have moved the existing mallocs into it, but there's no point, since I'm about to rewrite the whole thing anyway.)

view details

Simon Tatham

commit sha b8be01adca7f9b70d04cbd967628136398a7abaa

Complete rewrite of the bidi algorithm. A user reported that PuTTY's existing bidi algorithm will generate misordered text in cases like this (assuming UTF-8): echo -e '12 A \xD7\x90\xD7\x91 B' The hex codes in the middle are the Hebrew letters aleph and beth. Appearing in the middle of a line whose primary direction is left-to-right, those two letters should appear in the opposite order, but not cause the rest of the line to move around. That is, you expect the displayed text in this situation to be 12 A <beth><aleph> B But in fact, the digits '12' were erroneously reversed, so you would actually see '21 A <beth><aleph> B'. I tried to debug the existing bidi algorithm, but it was very hard, because the Unicode bidi spec has been extensively changed since Arabeyes contributed that code, and I couldn't even reliably work out which version of the spec the code was intended to implement. I found some problems, notably that the resolution phase was running once on the whole line instead of separately on runs of characters at the same level, and also that the 'sor' and 'eor' values were being wrongly computed. But I had no way to test any fix to ensure it hadn't introduced another bug somewhere else. Unicode provides a set of conformance tests in the UCD. That was just what I wanted - but they're too up-to-date to run against the old algorithm and expect to pass! So, paradoxically, it seemed to me that the _easiest_ way to fix this bidi bug would be to bring absolutely everything up to date. But the revised bidi algorithm is significantly more complicated, so I also didn't think it would be sensible to try to gradually evolve the existing code into it. Instead, I've done a complete rewrite of my own. The new code implements the full UAX#9 rev 44 algorithm, including in particular support for the new 'directional isolate' control characters, and also special handling for matched pairs of brackets in the text (see rule N0 in the spec). I've managed to get it to pass the entire UCD conformance test suite, so I'm reasonably confident it's right, or at the very least a lot closer to right than the old algorithm was. So the upshot is: the test case shown at the top of this file now passes, but also, other detailed bidi handling might have changed, certainly some cases involving brackets, but perhaps also other things that were either bugs in the old algorithm or updates to the standard.

view details

Simon Tatham

commit sha 93ba74579a22a8976e49bbb1c9e45b5bbd0d35bf

Test rig for the new bidi algorithm. This standalone CLI program runs the UCD bidi tests in the form provided in Unicode 14.0.0. You can run it by just saying bidi_test --class BidiTest.txt --char BidiCharacterTest.txt assuming those two UCD files are in the current directory.

view details

Simon Tatham

commit sha 54930cf784163294ce1211b9d7c3c91b372e13ef

bidi.c: correct comments. I accidentally deleted the original author's name in my rewrite, which was unnecessarily unfriendly given that some of their code is still here. Also I made a thinko in my explanation of the U+00AD problem.

view details

Simon Tatham

commit sha e744071a033e223ebdc8bb8e3bbab53ee649e3a3

Remove some unused variables. clang warned about these in the recent bidi work.

view details

Simon Tatham

commit sha 4f41bc04ab27953cce112070b796b52a8d0de52d

Charset-aware handling of C1 ST in OSC sequences. When the terminal is in UTF-8 mode, we accumulate UTF-8 text normally in the OSC string buffer - but the byte 0x9C is interpreted as the C1 control character String Terminator, which terminates the OSC sequence. That's not really what you want in UTF-8 mode, because 0x9C is also a perfectly normal UTF-8 continuation character. For example, you'd expect this to set the window title to "FÜNF": echo -ne '\033]0;FÜNF\007' but in fact, by the sheer chance that Ü is encoded with an 0x9C byte, you get a window title consisting of "F" followed by an illegal- encoding marker, and the OSC sequence is terminated abruptly so that the trailing 'NF' is printed normally to the terminal and then the BEL generates a beep. Now, in UTF-8 mode, we only support the C1 control for ST if it appears in the form of the proper UTF-8 encoding of U+009C. So that example now 'works', at least in the sense that the terminal considers the OSC sequence to terminate where the sender expected it to terminate. Another case where we interpret 0x9C inappropriately as ST is if the terminal is in a single-byte character set in which that character is a printing one. In CP437, for example, you can't set a window title containing a pound sign, because its encoding is 0x9C. This commit by itself doesn't make those window titles _work_, in the sense of coming out looking right. They just mean that the OSC sequence is not terminated at the wrong place. The actual title rendering will be fixed in the next commit.

view details

Simon Tatham

commit sha c35d8b832801d926a16ad29c416b969654051ef0

win_set_[icon_]title: send a codepage along with the string. While fixing the previous commit I noticed that window titles don't actually _work_ properly if you change the terminal character set, because the text accumulated in the OSC string buffer is sent to the TermWin as raw bytes, with no indication of what character set it should interpret them as. You might get lucky if you happened to choose the right charset (in particular, UTF-8 is a common default), but if you change the charset half way through a run, then there's certainly no way the frontend will know to interpret two window titles sent before and after the change in two different charsets. So, now win_set_title() and win_set_icon_title() both include a codepage parameter along with the byte string, and it's up to them to translate the provided window title from that encoding to whatever the local window system expects to receive. On Windows, that's wide-string Unicode, so we can just use the existing dup_mb_to_wc utility function. But in GTK, it's UTF-8, so I had to write an extra utility function to encode a wide string as UTF-8.

view details

Simon Tatham

commit sha 22911ccdcc37c7955bfc1c45a88d3762d1206da7

New config option for shifted arrow key handling. This commit introduces a new config option for how to handle shifted arrow keys. In the default mode (SHARROW_APPLICATION), we do what we've always done: Ctrl flips the arrow keys between sending their most usual escape sequences (ESC [ A ... ESC [ D) and sending the 'application cursor keys' sequences (ESC O A ... ESC O D). Whichever of those modes is currently configured, Ctrl+arrow sends the other one. In the new mode (SHARROW_BITMAP), application cursor key mode is unaffected by any shift keys, but the default sequences acquire two numeric arguments. The first argument is 1 (reflecting the fact that a shifted arrow key still notionally moves just 1 character cell); the second is the bitmap (1 for Shift) + (2 for Alt) + (4 for Ctrl), offset by 1. (Except that if _none_ of those modifiers is pressed, both numeric arguments are simply omitted.) The new bitmap mode is what current xterm generates, and also what Windows ConPTY seems to expect. If you start an ordinary Command Prompt and launch into WSL, those are the sequences it will generate for shifted arrow keys; conversely, if you run a Command Prompt within a ConPTY, then these sequences for Ctrl+arrow will have the effect you expect in cmd.exe command-line editing (going backward or forward a word). For that reason, I enable this mode unconditionally when launching Windows pterm.

view details

Simon Tatham

commit sha 6c24cb5c9fbeb34de7544b24d65bf21ad87a7d86

Fix paste error in comment. For some reason, in my comment explaining which Visual Studio compile warnings I'd suppressed and why, one of the warning numbers in the comment totally failed to match the one in the suppression option! I probably pasted it from some other warning in that compile, which I fixed rather than suppressing.

view details

push time in 3 days

push eventMIPT-ILab/mipt-mips

Vokerlee

commit sha 20b5476e8cd8ac071ad42408431e0affd76d61b9

members.md: Roman Glaz is added

view details

push time in 6 days

PR merged MIPT-ILab/mipt-mips

members.md: Roman Glaz is added

Roman Glaz added himself to the list of members of MIPT-V-2021 course from Intel.

+3 -1

1 comment

1 changed file

Vokerlee

pr closed time in 6 days

PullRequestReviewEvent

push eventMIPT-ILab/mipt-mips

Kirill Korolev

commit sha 9c11ef26abf0e7466e976b02284cc92d5c5a7f00

Add myself to members.md

view details

push time in 7 days

PR merged MIPT-ILab/mipt-mips

Add myself to members.md
+1 -0

1 comment

1 changed file

kkorolev

pr closed time in 7 days

PullRequestReviewEvent

PR opened MIPT-ILab/mipt-mips

Reviewers
Run CI on any commit
+0 -4

0 comment

1 changed file

pr created time in 8 days

create barnchMIPT-ILab/mipt-mips

branch : pavelkryukov-patch-1

created branch time in 8 days

PullRequestEvent

PR closed MIPT-ILab/mipt-mips

Add myself to members.md
+1 -0

0 comment

1 changed file

kkorolev

pr closed time in 8 days

PullRequestReviewEvent

push eventpavelkryukov/AoAoAoTT

Pavel I. Kryukov

commit sha c8781439a3a5f3ff38f185a8122b68feb60c5a54

Use compile-time increment variable in benchmark

view details

push time in 10 days

startedcpp-ru/ideas

started time in 12 days

push eventMIPT-ILab/cpp-lects-rus

tilir

commit sha a43e35f7f06b7924c2b15681c66167cbc7121bf8

Adding 4th pack for 2nd grade git-svn-id: https://svn.code.sf.net/p/cpp-lects-rus/code/trunk@499 39143b06-f351-456c-9f92-4cd32fad6823

view details

push time in 12 days

push eventMIPT-ILab/digital-design

Igor Smirnov

commit sha dcc8a37ef17bba37ee03c304970beeea6f974c91

Add L4 - Sequential Circuits

view details

Igor Smirnov

commit sha 591ed00c382f6ce2a588104de51359a17e6cd4df

Update L5 - FSM (part 1)

view details

Pavel I. Kryukov

commit sha 234c2a96fd8ea8a56fb6b9e31294abb2138008af

Merge branch 'master' of https://github.com/igorsmir-ilab/public

view details

push time in 12 days

push eventMIPT-ILab/cpp-lects-rus

tilir

commit sha 91f7600e79d88130311f11a60fb8b02de4019be9

Renaming slide pack, adding slides git-svn-id: https://svn.code.sf.net/p/cpp-lects-rus/code/trunk@498 39143b06-f351-456c-9f92-4cd32fad6823

view details

push time in 17 days

push eventMIPT-ILab/cpp-lects-rus

tilir

commit sha ee5d2e3b8bed037c23d99c7e7b94e92e58ec99bd

Adding alt slide pack for 03 git-svn-id: https://svn.code.sf.net/p/cpp-lects-rus/code/trunk@496 39143b06-f351-456c-9f92-4cd32fad6823

view details

tilir

commit sha 60a6cdcb826188d626eff05d2386eb545d1e7dae

Swap old and new ones git-svn-id: https://svn.code.sf.net/p/cpp-lects-rus/code/trunk@497 39143b06-f351-456c-9f92-4cd32fad6823

view details

push time in 22 days

push eventpavelkryukov/AoAoAoTT

Pavel I. Kryukov

commit sha e2e4f4c63a6537421690d09f81efb59d96eb99f5

Add missing bracket

view details

push time in a month

push eventMIPT-ILab/cpp-lects-rus

tilir

commit sha 166f6767dbc0adab0ec8c6a2e04c0650a4d9ec3c

Slides for C++ course and C -- some daily fixes git-svn-id: https://svn.code.sf.net/p/cpp-lects-rus/code/trunk@495 39143b06-f351-456c-9f92-4cd32fad6823

view details

push time in a month

push eventpavelkryukov/AoAoAoTT

Pavel I. Kryukov

commit sha dcc4834603cf084a07c0f2ab77699e166ef5d1ae

Fix cache warmup

view details

push time in a month

push eventpavelkryukov/AoAoAoTT

Pavel I. Kryukov

commit sha 2c94cd82d2b0a6f68086c57a706a0c81dd68bfe7

Return strided benchmark

view details

push time in a month

push eventpavelkryukov/AoAoAoTT

Pavel I. Kryukov

commit sha b0f2a4cd298ed3db9c685d81d0e968436bfeb39b

Add move version of transparent aggregation

view details

push time in a month