A list of useful commands for the FFmpeg command line tool.
Download FFmpeg: https://www.ffmpeg.org/download.html
Full documentation: https://www.ffmpeg.org/ffmpeg.html
using System.Collections.Generic; | |
using System.Linq; | |
namespace AhoCorasickTree | |
{ | |
public class AhoCorasickTree | |
{ | |
internal AhoCorasickTreeNode Root { get; set; } | |
public AhoCorasickTree(IEnumerable<string> keywords) |
const timing = store => next => action => { | |
performance.mark(`${action.type}_start`); | |
let result = next(action); | |
performance.mark(`${action.type}_end`); | |
performance.measure( | |
`${action.type}`, | |
`${action.type}_start`, | |
`${action.type}_end` | |
); | |
return result; |
from itertools import permutations | |
import math | |
X = 'X' | |
O = 'O' | |
_ = ' ' | |
def inter_value_differences(values): |
license: mit |
public class PostActionTransformation<T> : ISpecimenBuilderTransformation | |
{ | |
private readonly List<ISpecimenCommand> _commands = new List<ISpecimenCommand>(); | |
public ISpecimenBuilder Transform(ISpecimenBuilder builder) | |
{ | |
return new Postprocessor( | |
builder, | |
new CompositeSpecimenCommand(_commands), | |
new IsAssignableToTypeSpecification(typeof(T))); |
[StructLayout(LayoutKind.Sequential)] | |
public struct GbColor | |
{ | |
public byte R; | |
public byte G; | |
public byte B; | |
} | |
private readonly GbColor[] _framebuffer = new GbColor[160 * 144]; |
A list of useful commands for the FFmpeg command line tool.
Download FFmpeg: https://www.ffmpeg.org/download.html
Full documentation: https://www.ffmpeg.org/ffmpeg.html
using System; | |
using System.Threading.Channels; | |
using System.Threading.Tasks; | |
namespace ChannelsAreCool | |
{ | |
//Disclaimer : I didn't actually run this code so it might not quite work. | |
//Feel free to complain or ask questions and i'll fix it. | |
public static class Example | |
{ |
public static class MappingExtensions | |
{ | |
/// <summary> | |
/// Applies the specified <paramref name="transformation"/> on the <paramref name="source"/>. | |
/// </summary> | |
/// <typeparam name="TSource"></typeparam> | |
/// <typeparam name="T"></typeparam> | |
/// <param name="source"></param> | |
/// <param name="transformation"></param> | |
/// <returns></returns> |
This document was originally written several years ago. At the time I was working as an execution core verification engineer at Arm. The following points are coloured heavily by working in and around the execution cores of various processors. Apply a pinch of salt; points contain varying degrees of opinion.
It is still my opinion that RISC-V could be much better designed; though I will also say that if I was building a 32 or 64-bit CPU today I'd likely implement the architecture to benefit from the existing tooling.
Mostly based upon the RISC-V ISA spec v2.0. Some updates have been made for v2.2
The RISC-V ISA has pursued minimalism to a fault. There is a large emphasis on minimizing instruction count, normalizing encoding, etc. This pursuit of minimalism has resulted in false orthogonalities (such as reusing the same instruction for branches, calls and returns) and a requirement for superfluous instructions which impacts code density both in terms of size and