Как стать автором
Обновить
87
0

Open source contributor

Отправить сообщение

Как LINQ, только быстрый и без аллокаций

Время на прочтение4 мин
Количество просмотров24K

Кому не нравится LINQ в C#? Встроенная и уже достаточно старая фича языка C# и рантайма .NET.

Но можем ли мы сделать более эффективную версию LINQ, чтобы и быстрее, и не кушало памяти? Давайте попробуем!

Читать далее
Всего голосов 47: ↑47 и ↓0+47
Комментарии28

Очень типобезопасно! Концепт продвинутой расширяемой системы единиц измерения с generic math для .NET

Время на прочтение3 мин
Количество просмотров4.9K

Что может быть лучше десятка пары часов проведенных с дженериками и compile time safety в C#?

В этом очерке о единицах измерения, а точнее о том, как можно сделать потенциально очень крутую систему с полной проверкой на этапе компиляции, автоматической конверсией единиц измерения, кастомизированностью и расширяемостью во все стороны! Да, и еще неплохой производительностью. И вообще!

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии15

Making «foreach» loop as fast as «for» loop

Время на прочтение6 мин
Количество просмотров15K

Hello!

This post is about writing a fast enumerator in C#:

foreach (var i in 1..10)

We will figure out whether it's possible to make it as fast as for, and what can we do to improve our performance.

A lot of benchmarks and sharplab coming. Let's rock!

Read more
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Ускоряем цикл foreach до for

Время на прочтение6 мин
Количество просмотров17K

Привет!

В этой небольшой заметке о быстром енумераторе для foreach на C#:

foreach (var i in 1..10)

Можно ли сделать его таким же быстрым, как аналогичный for, и какую магию можно попробовать, добиваясь лучшего решения.

Будет много бенчмарков и шарплаба. Прошу под кат!

Читать далее
Всего голосов 45: ↑45 и ↓0+45
Комментарии23

Хостим WASM-приложения на github pages в два клика

Время на прочтение4 мин
Количество просмотров9K

Приветствую. Хочу донести гениальную и простейшую идею о том, как можно бесплатно хостить несложные бессерверные веб-приложения на Blazor WASM на github pages.

Это особенно полезная инструкция для тех, кто хотел бы сделать элементарнейшие утилиты, но не хочет/не может для этого поднимать сервер или использовать js для всех вычислений.

Прошу под кат!

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии8

AngouriMath 1.3 update

Время на прочтение5 мин
Количество просмотров4.2K

Four months of awesome work together with a few new contributors finally result in a new major release, which I'm happy to announce about.

Now we get completely new matrices, improved parser, a lot of new functions, almost rewritten interactive package (for working in Jupyter) and many more.

This article about a big update in a FOSS symbolic algebra library for .NET, I hope it may be interesting for someone!

Read more
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Compilation of math functions into Linq.Expression

Время на прочтение12 мин
Количество просмотров5.6K

Here I am going to cover my own approach to compilation of mathematical functions into Linq.Expression. What we are going to have implemented at the end:

1. Arithmetical operations, trigonometry, and other numerical functions

2. Boolean algebra (logic), less/greater and other operators

3. Arbitrary types as the function's input, output, and those intermediate

Hope it's going to be interesting!

Read more →
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Компилируем математические выражения

Время на прочтение11 мин
Количество просмотров6.9K

Хочу рассказать свою реализацию компиляции математических выражений. Будем компилировать в функцию от произвольных аргументов. В планах:

1. Арифметические операции, тригонометрия, и другие численные функции.

2. Булева алгебра (логика), логические операторы (и, или, и т. д.), а так же знаки сравнения.

3. Произвольные типы в качестве входных, выходных, и промежуточных.

Приятного чтения!

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии25

[Opinion] Lazy Properties Are Good. That Is How You Are to Use Them

Время на прочтение7 мин
Количество просмотров6.4K

Let me also say a word about properties. I'm going to consider a good use of them for immutable records in C#.

I am a big fan of code design, so in this article I want to cover existing approaches and show what, I think, is a better solution.

ReadMore() →
Всего голосов 5: ↑4 и ↓1+3
Комментарии10

What's new in AngouriMath 1.2?

Время на прочтение5 мин
Количество просмотров1.6K

After 210 days, 600 commits, tens of debugging nights, and thousands of messages in the project chat, I finally released AngouriMath 1.2.

This is an open-source symbolic algebra library for C# and F#, maybe it is interesting for someone?

Read more
Всего голосов 6: ↑6 и ↓0+6
Комментарии1

Что нового в AngouriMath 1.2?

Время на прочтение5 мин
Количество просмотров2.3K

Спустя 210 дней, 600 коммитов, десятки дебажных ночей и тысячи сообщений в обсуждениях проекта, я таки выпустил релиз AngouriMath 1.2.

Это небольшая опен-сорсная библиотека символьной алгебры для C# и F#, но вдруг кому-нибудь интересно?

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии2

Методы без аргументов — зло в ООП, и вот как его полечить

Время на прочтение5 мин
Количество просмотров7.9K

Привет!


Идея в том, что бы использовать ленивые кешируемые свойства везде в неизменяемых объектах, где в обычном случае мы бы использовали процессорно тяжелые методы без аргументов. А статья — как это задизайнить и зачем.



Обращение к ленивому свойству объекта наглядно

Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии15

Jupyter for .NET. «Like Python»

Время на прочтение2 мин
Количество просмотров2K
A few months ago Microsoft announced about the creation of Jupyter for .NET. However, people are barely interested in it despite how attractive the topic is. I decided to make a LaTeX wrapper for the Entity class from a symbolic algebra library:



Looks awesome. Is simple. Very enjoyable. Let's see more!
Read more →
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Jupyter для .NET. «Как в питоне»

Время на прочтение3 мин
Количество просмотров8.8K
Несколько месяцев назад Microsoft рассказали о Jupyter в .NET. Но активности по этому топику очень мало, а ведь тема очень интересная. Но что такое прикольное придумать? Я решил сделать удобный вывод класса Entity из библиотеки символьной алгебры:



Выглядит круче, чем в питоне. Делается просто, доставляет массу удовольствия. Приглашаю под кат!
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии11

Тензоры для C#. И матрицы, и векторы, и кастомный тип, и сравнительно быстро

Время на прочтение5 мин
Количество просмотров7.1K
Привет!

Понадобились мне как-то тензоры (расширения матриц) для моего проектика. Погуглил, нашел целый ряд всяких библиотек, все вокруг да около, а чего нужно — нет. Пришлось реализовать пятидневку и имплементировать то, что надо. Короткая заметка о работе с тензорами и трюках оптимизации.


Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии15

Developing a symbolic-expression library with C#. Differentiation, simplification, equation solving and many more

Время на прочтение15 мин
Количество просмотров7.6K
Hello!

[UPD from 12.06.2021: if you're looking for a symbolic algebra library, AngouriMath is actively developed. It's on Github and has a website. Discord for questions]

Why does programming a calculator seem to be a task, which every beginner undertakes? History might have the answer — computers were created for this exact purpose. Unlike the beginners, we will develop a smart calculator, which, although won't reach the complexity of SymPy, will be able to perform such algebraic operations as differentiation, simplification, and equations solving, will have built-in latex support, and have implemented features such as compilation to speed up the computations.

What are the articles about?
It will superficially tell about assembling an expression, parsing from a string, variable substitution, analytic derivative, equation numerical solving, and definite integration, rendering to LaTeX format, complex numbers, compiling functions, simplifying, expanding brackets, and blah blah blah.
For those who urgently need to clone something, repository link.

Let's do it!
Read more →
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

Пишем «калькулятор». Часть II. Решаем уравнения, рендерим в LaTeX, ускоряем функции до сверхсветовой

Время на прочтение7 мин
Количество просмотров9.6K
Привет!

Итак, в первой части мы уже неплохо поработали, сделав производную, упрощение, и компиляцию. Так, а что еще должен уметь наш простенький калькулятор? Ну хотя бы уравнения вида

$(x - b)(\tan(\sin(x))^2 - 3\tan(\sin(x)) + c) = 0$

точно должен решать. А еще красиво нарисовать это дело в латехе, и будет прямо хорошо! Погнали!



Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии10

Пишем «калькулятор» на C#. Часть I. Вычисление значения, производная, упрощение, и другие гуси

Время на прочтение9 мин
Количество просмотров65K
Привет!

Калькулятор у нас почему-то ассоциируется с чем-то, что должен написать каждый новичок. Возможно потому, что исторически компьютеры с той целью и создавались, чтобы считать. Но мы будем писать непростой калькулятор, не sympy конечно, но чтобы умел базовые алгебраические операции, типа дифференциирования, симплификации, а также фичи типа компиляции для ускорения вычислений.

Меньше воды! О чем статья?
Здесь будет поверхностно о построении выражения, парсинге из строки, подстановки переменной, аналитической производной, численным решении уравнения и определенного интеграла, рендеринг в формат LaTeX, комплексных числах, компиляцией функций, упрощении, раскрытии скобок, и бла бла бла. Вероятно, не в одной статье.
Для тех, кому нужно срочно что-нибудь склонировать, ссылка на репозиторий.

Берем оставшиеся с нового года печеньки, и погнали!
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии18

Deep Learning теперь на Java

Время на прочтение12 мин
Количество просмотров17K
Не любите Java? Да вы не умеете ее готовить! Mani Sarkar предлагает нам познакомиться с инструментом Valohai, позволяющим проводить исследования модели на Java.


Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии1

Играемся с комплексными числами

Время на прочтение3 мин
Количество просмотров12K
Привет!

Очередной очерк. На этот раз поиграемся с комплексными числами, с формулами и их визуализацией.


Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии11
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность