Skip to content

Commit 90786af

Browse files
author
Naoki Shibata
committed
Update version of tlfloat to 1.4.0
1 parent 7f88c1b commit 90786af

File tree

3 files changed

+100
-85
lines changed

3 files changed

+100
-85
lines changed

CMakeLists.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ option(INSTALL_QT "Install QT dlls when ENABLE_WIX is off (windows only)" OFF)
66

77
set(OCTCALC_VERSION_MAJOR 0)
88
set(OCTCALC_VERSION_MINOR 3)
9-
set(OCTCALC_VERSION_PATCHLEVEL 1)
9+
set(OCTCALC_VERSION_PATCHLEVEL 2)
1010
set(OCTCALC_VERSION ${OCTCALC_VERSION_MAJOR}.${OCTCALC_VERSION_MINOR}.${OCTCALC_VERSION_PATCHLEVEL})
1111
set(OCTCALC_SOVERSION ${OCTCALC_VERSION_MAJOR})
1212

@@ -39,7 +39,7 @@ endif()
3939

4040
set(TLFLOAT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/submodules/src/tlfloat")
4141

42-
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/submodules/tlfloat/include")
42+
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/submodules/tlfloat/include/tlfloat/tlfloat.hpp")
4343
file(MAKE_DIRECTORY "${PROJECT_SOURCE_DIR}/submodules/tlfloat")
4444
file(MAKE_DIRECTORY "${PROJECT_SOURCE_DIR}/submodules/tlfloat/include")
4545
file(MAKE_DIRECTORY "${PROJECT_SOURCE_DIR}/submodules/tlfloat/lib")
@@ -67,7 +67,7 @@ if (NOT EXISTS "${PROJECT_SOURCE_DIR}/submodules/tlfloat/include")
6767
find_package(Git REQUIRED)
6868
ExternalProject_Add(ext_tlfloat
6969
GIT_REPOSITORY https://github.com/shibatch/tlfloat
70-
GIT_TAG d3e42aeebbe42d49c929f8aa85e9074cfd04a2a6
70+
GIT_TAG 8ce09543ae821e3d701666bb80b2bb711a3bc5bb
7171
SOURCE_DIR "${TLFLOAT_SOURCE_DIR}"
7272
CMAKE_ARGS ${ARGS}
7373
)

CODE_OF_CONDUCT.md

+96-81
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ particular reason as to why it makes a particular contribution. In
150150
other words, a company needs an explanation of how its contribution
151151
will specifically benefit the company. However, most OSS products are
152152
not designed to benefit a specific company. OSS projects cannot be run
153-
solely by participants from companies that only care about their own
154-
convenience. It is not surprising that contributions made under a
153+
only by members who participate from companies who think only of their
154+
own convenience. It is not surprising that contributions made under a
155155
declaration that only contributions beneficial to a particular
156156
organization can be made are less appreciated.
157157

@@ -183,27 +183,26 @@ to OSS projects, we can expect that there is little risk of companies
183183
completely ignoring it. A code of conduct is a set of rules that
184184
defines the normative behavior and responsibilities of individuals,
185185
parties, and groups. In other words, a code of conduct is a definition
186-
of the behaviors of participants that are desirable and undesirable
187-
for a project. By having each participant in the project agree to a
188-
code of conduct, the participants are made aware that certain
189-
behaviors are undesirable for the project. In other words,
190-
participants will not be able to openly engage in behavior that is
191-
undesirable for the project. Since a code of conduct is not legally
192-
binding, participants would be able to continue to participate in the
193-
project without agreeing to the code of conduct or while violating
194-
it. However, even in that case, the fact that a particular participant
195-
did not agree to or violated the code of conduct is visible. The
196-
purpose of having participants make a pledge not to engage in
197-
undesirable behavior is not to exclude participants who disagree or
198-
violate the code from the project, but to make other participants
199-
aware of it. This allows the "name and shame" approach to discourage
200-
participants from taking undesirable actions. If a particular
201-
participant engages in an undesirable behavior, other participants
202-
become aware of it, and the participant with the undesirable behavior
203-
is excluded from participation in the overall decision-making process
204-
of the project. In other words, participants with undesirable behavior
205-
will have difficulty participating in decision-making within the
206-
project. This assumes, of course, that participants do not lie.
186+
of the behaviors of members that are desirable and undesirable for a
187+
project. By having each member in the project agree to a code of
188+
conduct, the members are made aware that certain behaviors are
189+
undesirable for the project. In other words, members will not be able
190+
to openly engage in behavior that is undesirable for the
191+
project. Since a code of conduct is not legally binding, members would
192+
be able to continue to participate in the project without agreeing to
193+
the code of conduct or while violating it. However, even in that case,
194+
the fact that a particular member did not agree to or violated the
195+
code of conduct is visible. The purpose of having members make a
196+
pledge not to engage in undesirable behavior is not to exclude members
197+
who disagree or violate the code from the project, but to make other
198+
members aware of it. This allows the "name and shame" approach to
199+
discourage members from taking undesirable actions. If a particular
200+
member engages in an undesirable behavior, other members become aware
201+
of it, and the member with the undesirable behavior is excluded from
202+
participation in the overall decision-making process of the
203+
project. In other words, members with undesirable behavior will have
204+
difficulty participating in decision-making within the project. This
205+
assumes, of course, that members do not lie.
207206

208207

209208
### How our guidelines work
@@ -213,20 +212,20 @@ code of conduct aiming to alleviate the burnout problems of OSS
213212
developers. Our guidelines use the nature of the code of conduct
214213
described above to discourage free-riding on OSS projects. Since a
215214
code of conduct defines desirable and undesirable behaviors of project
216-
participants, it is not possible to directly ask companies to comply
217-
with the code. Therefore, our guidelines ask participants representing
218-
a company to pledge that they will make effort to ensure that the
219-
company to which they belong does not free-ride. If a participant's
220-
company continues to free-ride, that participant can be regarded as
221-
not making sufficient efforts to ensure that the company does not
222-
free-ride. In addition, our guidelines do not require only that each
223-
company does not free-ride on projects that have adopted our
224-
guidelines, but also that they do not free-ride on OSS projects in
225-
general. As there becomes greater public awareness of the importance
226-
of discouraging free-riding in order to sustain OSS projects, it will
227-
become more difficult for companies to openly disagree with our
228-
guidelines. As more projects adopt our guidelines, we can expect that
229-
free-riding on OSS projects in general will be discouraged.
215+
members, it is not possible to directly ask companies to comply with
216+
the code. Therefore, our guidelines ask members representing a company
217+
to pledge that they will make effort to ensure that the company to
218+
which they belong does not free-ride. If a member's company continues
219+
to free-ride, that member can be regarded as not making sufficient
220+
efforts to ensure that the company does not free-ride. In addition,
221+
our guidelines do not require only that each company does not
222+
free-ride on projects that have adopted our guidelines, but also that
223+
they do not free-ride on OSS projects in general. As there becomes
224+
greater public awareness of the importance of discouraging free-riding
225+
in order to sustain OSS projects, it will become more difficult for
226+
companies to openly disagree with our guidelines. As more projects
227+
adopt our guidelines, we can expect that free-riding on OSS projects
228+
in general will be discouraged.
230229

231230
Now, based on the above, will this scheme really work? What is most
232231
concerning is the part that although prohibiting commercial use of
@@ -239,10 +238,10 @@ license at this point. Distribution licenses are supposed to be
239238
legally binding, which is incompatible with asking licensees to take
240239
some action without legally binding them to do so. On the other hand,
241240
a code of conduct, by its very nature, only prescribes the desired
242-
behavior of project participants, not the conditions for the use of
243-
the software. The existence of a code of conduct makes it possible to
244-
check whether each participant is behaving in a way that is desirable
245-
for the project. If companies continue to free-ride on OSS, this will
241+
behavior of project members, not the conditions for the use of the
242+
software. The existence of a code of conduct makes it possible to
243+
check whether each member is behaving in a way that is desirable for
244+
the project. If companies continue to free-ride on OSS, this will
246245
become visible to the public and subject to social criticism. It would
247246
be a serious PR loss for a company if it were to make the news that
248247
the company gets disciplined in a prominent OSS project. Therefore, we
@@ -261,8 +260,8 @@ appropriateness of each decision made within the project. Transparency
261260
in project management would also have positive results in terms of
262261
ensuring diversity in the project.
263262

264-
What our guidelines require is that each participant takes action to
265-
discourage free-riding. Thus, even if a participant's company is
263+
What our guidelines require is that each member takes action to
264+
discourage free-riding. Thus, even if a member's company is
266265
free-riding, that company will not be immediately denounced. A
267266
company's free-riding will only be brought to attention if it becomes
268267
a problem over some extended period of time. For companies, it is only
@@ -298,17 +297,18 @@ You might be wondering why our guidelines target only companies, even
298297
though individuals are also free-riding. This is due to the
299298
limitations of how our guidelines work. The basic stance of our
300299
guidelines is to request uniformly the same content regardless of
301-
whether the participant belongs to a company or not. This is because
300+
whether the member belongs to a company or not. This is because
302301
confusion arises in the definition of the terms if we try to
303-
distinguish between companies and individuals. If individual
304-
participants are asked to donate to the project, they would
305-
effectively be excluded from participating in the project. Thus, what
306-
individual participants can do to deter free-riding is to call out to
307-
their friends not to free-ride, which is practically nothing. If
308-
donations were collected from individual users in a thin and broad
309-
base, the total amount could be large. However, it would be too costly
310-
to track the amount of each individual user's donation, and it would
311-
be difficult to establish a practical mechanism for this purpose.
302+
distinguish between companies and individuals. If members
303+
participating as individuals were asked to donate to the project, they
304+
would effectively be excluded from participating in the project.
305+
Thus, all that a member participating as an individual can do to deter
306+
free-riding is to call out to their friends not to free-ride, which is
307+
effectively the same as doing nothing. If donations were collected
308+
from individual users in a thin and broad base, the total amount could
309+
be large. However, it would be too costly to track the amount of each
310+
individual user's donation, and it would be difficult to establish a
311+
practical mechanism for this purpose.
312312

313313
You might also wonder whether educational and research institutions
314314
are also included in the scope of free-ride deterrence. It is
@@ -333,10 +333,10 @@ do the same with OSS maintenance, we will undoubtedly see terrible
333333
results. Because it is difficult to evaluate which OSS is useful,
334334
large amounts of taxpayer money will be spent on maintenance of
335335
software that no one has ever heard of. There is also a problem that
336-
it is difficult to coordinate among the countries to which the
337-
participants belong, since the development of OSS takes place across
338-
countries. By having companies fund software that is valuable to them,
339-
we can expect that truly valuable software will be funded.
336+
it is difficult to coordinate among the countries to which the members
337+
belong, since the development of OSS takes place across countries. By
338+
having companies fund software that is valuable to them, we can expect
339+
that truly valuable software will be funded.
340340

341341

342342
## Positioning and purpose of the guidelines
@@ -352,12 +352,12 @@ there is no provision in the software distribution license prohibiting
352352
the removal of the guidelines in a derivative project, you can fork
353353
the project to remove the guidelines.
354354

355-
The guidelines ask participants representing companies to pledge that
356-
they will make efforts to ensure that their companies do not engage in
357-
free-riding. However, this is nominal and participants are not
358-
actually asked to take any specific action. What actually matters is
359-
the attitude of the company to which the participant belongs, not the
360-
specific actions of the participant.
355+
The guidelines ask members representing companies to pledge that they
356+
will make efforts to ensure that their companies do not engage in
357+
free-riding. However, this is nominal and members are not actually
358+
asked to take any specific action. What actually matters is the
359+
attitude of the company to which the member belongs, not the specific
360+
actions of the member.
361361

362362

363363
## The guidelines
@@ -386,11 +386,12 @@ and smooth discussions.
386386

387387
* Project members strive to promote the awareness that it is natural
388388
for companies that make a profit from the commercial use of open
389-
source or free software to make contribution commensurate with their
390-
profit to relevant projects, where the purpose of the contribution
391-
is for the project to serve society as a whole, not just particular
392-
organizations. Here, contribution to a project refers to the
393-
following items.
389+
source or free software to make contribution commensurate with the
390+
increased profits from the use of the software to relevant projects,
391+
where the contribution is made in order for the project to serve
392+
society as a whole. This contribution must not be biased to benefit
393+
any specific organizations. On top of that, the contribution herein
394+
refers to providing the following items.
394395

395396
* Financial support
396397
* Contributing code or documentation
@@ -424,18 +425,22 @@ and smooth discussions.
424425

425426
### Maintaining transparency in project operations
426427

427-
* Each participant in the project should disclose information
428-
regarding his or her identity and affiliation when necessary to
429-
carry out the project. If a project participant is asked to disclose
430-
information regarding his or her identity and affiliation, an
431-
explanation should be provided as to why such disclosure is
432-
necessary for the execution of the project.
428+
* Each member in the project should disclose information regarding his
429+
or her identity and affiliation when necessary to carry out the
430+
project. In requesting disclosure of the identity and affiliation of
431+
each member, an explanation should be given as to why this is
432+
necessary to carry out the project.
433433

434434
* In engaging in activities within the project, each member should
435-
make an effort to explain the basis for decisions in a manner that
436-
the general public can understand. If the basis for a decision
437-
cannot be disclosed, the reason why it cannot be disclosed should be
438-
explained as much as possible.
435+
make an effort to disclose the basis for decisions in a manner that
436+
the general public can see and understand.
437+
* If the basis for a decision cannot be disclosed, the reason why it
438+
cannot be disclosed should be explained as much as possible.
439+
* If each member notices that the basis for a decision or the reason
440+
why it cannot be disclosed has not been explained in the project,
441+
the member should prompt the person who made the decision to
442+
explain it, even if the matter is not directly related to the
443+
member's own, or if it is a past matter.
439444

440445

441446
### Keeping calm and logical discussion
@@ -452,9 +457,9 @@ and smooth discussions.
452457
time of the person's birth and cannot be changed)
453458
* Ideology or beliefs that are not relevant to the purpose of the
454459
project
455-
* Whether or not each participant belongs to an antisocial group
456-
or cult is always regarded as relevant to the purpose of the
457-
project. The project may ban a participant who is found to be a
460+
* Whether or not each member belongs to an antisocial group or
461+
cult is always regarded as relevant to the purpose of the
462+
project. The project may ban a member who is found to be a
458463
member of an anti-social organization or cult for the sole
459464
reason of his/her membership in such an organization.
460465
* Inequalities that existed in the past
@@ -481,3 +486,13 @@ and smooth discussions.
481486
privileges of the websites related to the project and basically
482487
what you cannot do is not possible for the maintainers either.
483488

489+
490+
### Not taking the guidelines as an absolute
491+
492+
* Each member should understand that each item of these guidelines is
493+
merely a means to achieve the objectives of the guidelines and to
494+
respect basic human rights.
495+
* Each member should always consider first how to achieve the
496+
objectives of the guidelines and respect basic human rights, and
497+
for this purpose, allow deviations from each item of these
498+
guidelines.

src/octcore.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ namespace {
3535
tlfloat_octuple rnd(tlfloat_octuple x) {
3636
static TLCG64 lcg64;
3737
if (x < 0 || x >= 0x1p+64) return NAN;
38-
uint64_t u = (uint64_t)(tlfloat_uint128_t)x;
38+
uint64_t u = (uint64_t)x;
3939
return tlfloat_uint128_t(u == 0 ? lcg64.next64() : lcg64.nextLT(u));
4040
}
4141

0 commit comments

Comments
 (0)