Posts

FFTMark

Image
A multi-threaded benchmark that runs an FFT (fast fourier transform) on several data sets with virtual machine (Java code on the Android Runtime ART or Dalvik on Android;  JRE on PC ) and native (JNI using C++) code calculations. This benchmark utilizes all cores/threads of the CPU. This app performs benchmarks and stress tests by calculating a double-precision floating-point real number forward FFT on different sets of 1D input data (sine, square, triangle waves of different frequencies and combinations of these functions). Mulitple iterations are performed with each transform for benchmark purposes. The data size is 16384 (16Ki). The benchmark score is the number of FFT calculations on the system per millisecond. Includes system information and results display to compare with other devices (Android and PC). PC Java Application Windows 64 Bit  ---  Linux 64 Bit You need a Java runtime installed on your system to run the application. Then you can just double-click the jar file in the

Bourgeon: a Visual Studio extension for visualizing TFS source control branch history and relations

Image
I created a VS extension called Bourgeon to display branch hierarchy and changeset history and relations (branching, merging, creation and deletion). It is available for Visual Studio 2013, 2015, 2017 and 2019. Get it for free on the Visual Studio Marketplace. Here is the description: Visualize TFS source control branch history and relations: branching, merging, creation and deletion If you like this extension, please support its development: Walkthrough Start the extension through the Source Control Explorer context menu: The available branches are displayed at the top in the Bourgeon window, with the current item selected. Add branches you would like to include in the history graph to the selection by clicking on the names. You can also select all child branch by clicking on the red arrow on the parent branch. You can change the view type to Project by selection it under "View:". This switches the view from "Branch" (child branches are shown

Visual Studio themes: VsBrushes color values

If you are writing a Visual Studio extension (VSIX), you would like to use the brushes according to the currently set Visual Studio theme. Here is a list of the colors for the different VS themes: (a brush with one color is a SolidColorBrush, a brush with several colors is a LinearGradientBrush where the colors for the GradientStops are listed) Blue Theme Dark Theme Light Theme These theme brushes have been extracted from  Microsoft.VisualStudio.Shell.14.0 , but there only minor changes for 15.0. The brush keys are defined in the class  Microsoft.VisualStudio.Shell. VsBrushes  of the assembly  Microsoft.VisualStudio.Shell.15.0 , (Version 15.0 is included in  VS 2017 and later - for VS 2015, you can use 14.0). The theme brushes can be applied to controls like this: These are mostly command bar brushes, which can be use for buttons, too. Unfortunately, there are almost no buttons in VS to be found which are styled according to the current theme - e.g. the Options dialog is not styled

WPF: a generic value converter

Image
The task A value converter in WPF offers the possibility to present properties in data bindings in different ways without changing the view model which contains the data property and without the need to include extra logic in XAML or code-behind. All you have to do is implement the IValueConverter interface in the converter class and use the converter in the XAML code. The problem is if you have lots of converter implementations that you have to maintain. In larger projects, a lot of these classes can accumulate, where you basically end up coding nearly the same logic again and again, only with different types. One solution for this problem is to use generic types for the converter. There are a lot of examples to do this for generic bool-to-value converters (e.g. in the answer here ). The advantage is that the converter logic is implemented only once and the output type of the conversion is generic - although it is a concrete type in the specific converter class, but this can be do

JNI (PC Java / Android) wrapper for native FFT code

See the repository here: https://github.com/StefanLober/fft