codee-com / codee-com/open-catalog
[Fortran] Replace `if (integer)` with `if (logical)`
- Lingua principale
- Fortran
- Stelle
- 106
- Fork
- 12
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
In Fortran there is no equivalence between logical and integer variables, so `0` is not a replacement for `.false.`, and `1` does not replace `.true.`. Yet, some compilers (ifort) will happily compile `if (1)`.
Example:
```fortran
if (0) write(*, *) 'Test is false'
if (1) write(*, *) 'Test is true'
```
A slightly more meaningful example
```fortran
integer val
val = 1
if (val) write(*, *) 'Test is true'
```
This should be replaced by
```fortran
integer val
val = 1
if (val > 0) write(*, *) 'Test is true'
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Nell’issue non sono identificati file, test o punti di ingresso. Inizia individuando le istanze in Fortran di espressioni intere usate come condizioni, confrontale con i due esempi e considera completato il lavoro quando tali condizioni usano espressioni logiche valide o confronti espliciti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- fortran
- Ambito
- compilers
- Tipo di issue
- Refactoring
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100