OberonCore https://forum.oberoncore.ru/ |
|
Lib: Вопрос про Log в LibMatrices https://forum.oberoncore.ru/viewtopic.php?f=47&t=3112 |
Страница 1 из 1 |
Автор: | Иван Денисов [ Понедельник, 27 Декабрь, 2010 19:07 ] |
Заголовок сообщения: | Lib: Вопрос про Log в LibMatrices |
Не могу разобраться, почему так странно выводится матрица в пакете Lib ![]() После вывода первой матрицы пишется строчка второй... пытался копаться в исходниках, подозреваю что дело в буфере, но опыта не хватает, чтобы поправить, подскажите, пожалуйста. Программа: Код: MODULE DiaTest; IMPORT Out := StdLog, Mat := LibMatrices; PROCEDURE Do* (); VAR n, i: INTEGER; s: POINTER TO ARRAY OF REAL; A: Mat.Matrix; BEGIN n := 10; NEW(s, n); A := Mat.NewRC(n, n); FOR i := 0 TO n - 1 DO A[i][i] := 1; END; FOR i := 0 TO n - 2 DO A[i][i + 1] := - 1; A[i + 1][i] := - 1; END; Out.String(" -- 1 ВЫВОД -- "); Out.Ln; Mat.WrtL(A, 4, 1, 10); Out.String(" -- 2 ВЫВОД -- "); Out.Ln; Mat.WrtL(A, 4, 1, 10); END Do; END DiaTest. DiaTest.Do Код: -- 1 ВЫВОД --
(-1. , 1. ,-1. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ) ( 0. ,-1. , 1. ,-1. , 0. , 0. , 0. , 0. , 0. , 0. ) ( 0. , 0. ,-1. , 1. ,-1. , 0. , 0. , 0. , 0. , 0. ) ( 0. , 0. , 0. ,-1. , 1. ,-1. , 0. , 0. , 0. , 0. ) ( 0. , 0. , 0. , 0. ,-1. , 1. ,-1. , 0. , 0. , 0. ) ( 0. , 0. , 0. , 0. , 0. ,-1. , 1. ,-1. , 0. , 0. ) ( 0. , 0. , 0. , 0. , 0. , 0. ,-1. , 1. ,-1. , 0. ) ( 0. , 0. , 0. , 0. , 0. , 0. , 0. ,-1. , 1. ,-1. ) ( 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ,-1. , 1. ) ( 1. ,-1. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ) -- 2 ВЫВОД -- (-1. , 1. ,-1. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ) ( 0. ,-1. , 1. ,-1. , 0. , 0. , 0. , 0. , 0. , 0. ) ( 0. , 0. ,-1. , 1. ,-1. , 0. , 0. , 0. , 0. , 0. ) ( 0. , 0. , 0. ,-1. , 1. ,-1. , 0. , 0. , 0. , 0. ) ( 0. , 0. , 0. , 0. ,-1. , 1. ,-1. , 0. , 0. , 0. ) ( 0. , 0. , 0. , 0. , 0. ,-1. , 1. ,-1. , 0. , 0. ) ( 0. , 0. , 0. , 0. , 0. , 0. ,-1. , 1. ,-1. , 0. ) ( 0. , 0. , 0. , 0. , 0. , 0. , 0. ,-1. , 1. ,-1. ) ( 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ,-1. , 1. ) |
Автор: | Евгений Темиргалеев [ Понедельник, 27 Декабрь, 2010 19:21 ] |
Заголовок сообщения: | Re: Вопрос про Log в LibMatrices |
вроде видел (давно), что Lib-й вывод лезет в Цитата: VAR buf-: TextModels.Model Попробуйте Out.Ln после Mat.WrtL(...
The buffer used internally for minimizing screen refreshes. |
Автор: | Иван Денисов [ Понедельник, 27 Декабрь, 2010 19:30 ] |
Заголовок сообщения: | Re: Вопрос про Log в LibMatrices |
Евгений Темиргалеев писал(а): вроде видел (давно), что Lib-й вывод лезет в Цитата: VAR buf-: TextModels.Model Попробуйте Out.Ln после Mat.WrtL(...The buffer used internally for minimizing screen refreshes. Так пробовал, не помогало. Ответ: оказалось, надо LibFmtrs.logFmtr.SetToEnd; Перед Mat.WrtL(...); Нашел только что в одном спрятанном примере в LibIMatrices, тему закрываю. Хоть это и странно, что каждый раз придется так писать, но работает ![]() |
Автор: | Александр Ильин [ Понедельник, 27 Декабрь, 2010 19:32 ] |
Заголовок сообщения: | Re: Вопрос про Log в LibMatrices |
divan писал(а): Нашел только что в одном спрятанном примере в LibIMatrices, тему закрываю. Может быть, достаточно Log.FlushBuf?
|
Автор: | Иван Денисов [ Понедельник, 27 Декабрь, 2010 21:31 ] |
Заголовок сообщения: | Re: Вопрос про Log в LibMatrices |
Александр Ильин писал(а): divan писал(а): Нашел только что в одном спрятанном примере в LibIMatrices, тему закрываю. Может быть, достаточно Log.FlushBuf? |
Автор: | Александр Ильин [ Вторник, 28 Декабрь, 2010 04:55 ] |
Заголовок сообщения: | Re: Вопрос про Log в LibMatrices |
divan писал(а): Не смог найти такого. В смысле? Пишете "Log", выделяете, в контекстном меню выбираете "Interface".
|
Автор: | Евгений Темиргалеев [ Вторник, 28 Декабрь, 2010 10:01 ] |
Заголовок сообщения: | Re: Вопрос про Log в LibMatrices |
Александр говорит про Log, а divan про StdLog. |
Автор: | Иван Денисов [ Вторник, 28 Декабрь, 2010 18:37 ] |
Заголовок сообщения: | Re: Вопрос про Log в LibMatrices |
Александр Ильин писал(а): divan писал(а): Нашел только что в одном спрятанном примере в LibIMatrices, тему закрываю. Может быть, достаточно Log.FlushBuf?Код: Log.FlushBuf;
Out.String(" -- 1 ВЫВОД -- "); Out.Ln; Log.FlushBuf; Mat.WrtL(A, 4, 1, 10); Log.FlushBuf; Out.String(" -- 2 ВЫВОД -- "); Out.Ln; Log.FlushBuf; Mat.WrtL(A, 4, 1, 10); Log.FlushBuf; |
Автор: | Евгений Темиргалеев [ Среда, 29 Декабрь, 2010 09:35 ] |
Заголовок сообщения: | Re: Вопрос про Log в LibMatrices |
Если в Lib есть специальный модуль, который отвечает за вывод в лог divan писал(а): Ответ: оказалось, надо то может и нужно его использовать? А не изобретать варианты с Log.
LibFmtrs.logFmtr.SetToEnd; |
Автор: | Иван Денисов [ Среда, 29 Декабрь, 2010 09:46 ] |
Заголовок сообщения: | Re: Вопрос про Log в LibMatrices |
Евгений Темиргалеев писал(а): Если в Lib есть специальный модуль, который отвечает за вывод в лог divan писал(а): Ответ: оказалось, надо то может и нужно его использовать? А не изобретать варианты с Log.LibFmtrs.logFmtr.SetToEnd; Ну, интересно было проверить ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |